"Мой профессор по Legal Reasoning рассказывал, как он объяснил дочери логику двойного отрицания: если ты не помоешь посуду, то не получишь мороженого. Дочь помыла посуду. И усвоила разницу между необходимым и достаточным."Жестоко! И, пожалуй, несправедливо ;) Всё же язык и формальная логика — разные вещи. Когда мы говорим "если не сделаешь X, то не получишь Y", обычно подразумеваем, что если сделаешь X, то Y получишь — вопреки формальной логике, да, но так уж сложилось в языке.
Но как средство разъяснения очень частой логической ошибки в рассуждениях — хороший метод, да. Кстати, отрицания тут сами по себе не являются частью ошибки, а просто маскируют её. Ошибка эта — вида Denial of the Antecedent, т.е. "если P, то Q; не-P; следовательно, не-Q".
P.S. Там же, в комментах — замечательный анекдот про программиста.