о доказательствах
Oct. 10th, 2006 10:34 pmВ одной из своих замечательных заметок (англ., PDF) Дейкстра протестует против, по его мнению, вредного и приводящего к путанице понятия косвенного доказательства. Если, желая доказать A--->B (из A следует B), мы начинаем с предположения "не-B", и доказываем исходя из этого "не-A", это называется косвенным доказательством (в отличие от прямого доказательства, когда мы предполагаем A и доказываем B напрямую).
Дейкстра считает, что разделять эти два метода - нелепо, и они есть одно и то же. Действительно, с точки зрения чистой логики утверждения A--->B и (не-B)--->(не-A) совершенно эквивалентны, и доказать одно означает доказать другое. Собственно, они оба тождественно утверждению "не-A или B", которое Дейкстра предлагает считать более фундаментальным, чем обе эти версии.
Дейкстра неправ. Математики не просто так и не из соображений устаревшей терминологии называют некоторые доказательства прямыми, а другие - косвенными. Несмотря на формальную тождественность, между ними есть существенная разница с точки зрения математической практики. Но как это продемонстрировать?
Обратимся к еще одному примеру вредной терминологии с точки зрения Дейкстры, тесно связанному с только что упомянутым. Принцип математической индукции можно сформулировать следующим образом: если мы хотим доказать какой-то предикат (какое-то свойство) P(x) для любого натурального числа x (x = 0, 1, 2, ...), то нам достаточно доказать следующее: из того, что P выполняется для всех y меньше x, следует, что P выполняется для x. В символьном виде (∀x читается "для каждого икс...", а ∃x - "существует икс такой, что...", и эти два символа называются кванторами общности и существования): (∀y)(y<x ---> P(y)) ---> P(x). Еще раз словами: если для любого y верно, что из того, что y меньше x следует истинность P(y), тогда верно и P(x). Если мы докажем это, то принцип математической индукции гласит, что мы доказали P(x) для любого x.
(более привычная формулировка индукции, когда переходят от P(n) к P(n+1), является частным и несколько более слабым вариантом. В более общей формулировке, приведенной выше, для доказательства P(n+1) нам разрешено пользоваться не только доказанностью для предыдущего числа, P(n), но и для всех чисел, уже доказанных до сих пор, начиная с 0 - переменная y как раз и пробегает весь их список).
С другой стороны, принцип бесконечного спуска - приоритет сознательного и плодотворного его использования принадлежит Ферма - является вариантом принципа математической индукции, хоть это может и не быть очевидным заранее. При использовании принципа бесконечного спуска, желая доказать P(x) для всех x, мы доказываем следующее: если для какого-то x верно ¬P(x) (¬ означает отрицание: "не-P(x)"), то существует какое-то y меньше x, для которого тоже верно ¬P(y). Если мы докажем это, то принцип бесконечного спуска гласит, что мы доказали P(x) для всех x. С интуитивной точки зрения это объясняется так: если P(x) неверно хотя бы для какого-то x, то доказанное нами утверждение позволяет построить нисходящую цепочку таких иксов, для которых P неверно: начиная с x, потом какой-то x' меньше его, потом x'' меньше этого, и так далее без конца. Но не бывает бесконечной нисходящей цепочки натуральных чисел (не бывает "бесконечного спуска"): если, например, мы начали цепочку с числа 1000, то дальше в ней может быть не больше тысячи членов, но никак не бесконечное число.
Это может показаться неочевидным, но принцип бесконечного спуска совершенно тождественен принципу математической индукции: это один и тот же принцип. При использовании индукции мы стремились доказать следующее (в символьном виде):
(∀y)(y<x → P(y)) → P(x)
Если мы теперь "перевернем" это утверждение (т.е. от A→B перейдем к эквивалентному ¬B→¬A), то получим
¬P(x) → ¬(∀y)(y<x → P(y))
Используя формулы, связывающие два квантора, а именно тот факт, что ¬∀ эквивалентно ∃¬ (словами: если неверно, что "для всех x" выполняется то-то и то-то, то "существует" какой-то x, для которого не выполняется то-то и то-то), это можно записать как
¬P(x) → (∃y)¬(y<x → P(y))
А отрицать утверждение (y<x → P(y)) - все равно, что сказать, что его условие выполняется, а следствие - нет, т.е. одновременно верно y<x и ¬P(y), и сделав эту замену, мы приходим (используя символ ∧ в значении "и") к
¬P(x) → (∃y)(y<x ∧ ¬P(y))
что является в точности тем, что нам полагается доказать для применения принципа бесконечного спуска: если неверно P(x), то есть какой-то y, который меньше x, и для которого неверно P(y).
Таким образом, с точки зрения чистой логики два этих принципа совершенно тождественны, подобно тому, как тождественны "прямое" доказательство A → B и "косвенное" ¬B → ¬A. Исходя из этого факта, Дейкстра протестует против того, чтобы вообще считать принцип бесконечного спуска отдельным принципом, и хвалить того же Ферма за блестящее его применение. Ведь он совершенно эквивалентен индукции, и ничего нового или интересного в нем нет; любое доказательство, использующее его, можно представить в виде доказательства, использующего индукцию.
Дейкстра неправ. Математики не просто так используют разные названия, когда говорят об этих двух принципах. Хотя с точки зрения формальной логики они и тождественны, есть доказательства, "естественным" образом использующие индукцию, а есть доказательства, "естественным" образом использующие принцип бесконечного спуска. Но что это значит - "естественным образом", и как это продемонстрировать?
Об этом - через час-два в следующей записи :)
no subject
Date: 2006-10-10 08:40 pm (UTC)с точки зрения чистой логики, утверждения A--->B и (не-B)-->(не-А) совершенно эквивалентны.
no subject
Date: 2006-10-10 08:40 pm (UTC)no subject
Date: 2006-10-10 08:41 pm (UTC)no subject
Date: 2006-10-10 08:42 pm (UTC)no subject
Date: 2006-10-10 09:24 pm (UTC)Любое математическое утверждение формулируется в виде "если А, то В". Даже утверждения типа "для всех x выполнено Р(х)", поскольку мы заранее обладаем некоторой информацией о множестве всех х и свойстве Р. Можно переформулировать его в виде "если х - любое, то Р(х)". Доказательство от противного: предположим, что "не В", тогда "не А". Противоречие, поскольку мы предполагали, что А.
no subject
Date: 2006-10-10 11:24 pm (UTC)no subject
Date: 2006-10-11 07:45 am (UTC)Другими словами, любое содержательное утверждение предполагает наличие хотя бы одного не исчерпывающегося им самим утверждения, которое считается истинным. В таковой роли могут выступать и аксиомы. Именно это утверждение естественным образом выступает в качестве предположения А. Прийти к противоречию, предположив "не-В" и не обладая никакой доказательной базой, невозможно.
no subject
Date: 2006-10-11 07:39 am (UTC)лучше бы уж молчал
no subject
Date: 2006-10-10 08:52 pm (UTC)Вообще вся математика эквивалентна набору аксиом ZFC. Все эти тождества, которые так старательно развивтают математики вместо того, чтобы аксиомами и ограничиться, есть мыслительные подпорки, этакий кэш логических выкладок. И различие между "методом индукции" и "методом бесконечного спуска" именно в характере обеспеиваемой ими ментальной подпорки, а не в сущности. Т.е. Дейкстра прав -- но не в том :)
no subject
Date: 2006-10-10 09:40 pm (UTC)Ну уж.
no subject
Date: 2006-10-10 10:43 pm (UTC)А вопросом о том, эквивалентна ли математика ZFC (кстати, почему С? Она ж весьма спорная) занимаются философы с математическим образованием, сиречь математики, задолбавшиеся доказывать разные утверждения и пытающиеся понять, зачем и нужно ли их вообще доказывать.
no subject
Date: 2006-10-10 11:03 pm (UTC)2) Повседневная рабочая практика большинства математиков никак не связана с ZFC, а связана с изучением некоторой, прошу прощения, объективной реальности. Многое можно -- но только в принципе -- свести к ZFC (потому что принято доказывать утверждения), но при чем тут математика? Мысль, прямо скажем, банальная, но все же.
no subject
Date: 2006-10-11 11:07 am (UTC)no subject
Date: 2006-10-11 04:37 pm (UTC)no subject
Date: 2006-10-11 04:54 pm (UTC)no subject
Date: 2006-10-10 08:54 pm (UTC)no subject
Date: 2006-10-10 09:08 pm (UTC)no subject
Date: 2006-10-10 09:45 pm (UTC)no subject
Date: 2006-10-10 10:05 pm (UTC)no subject
Date: 2006-10-10 10:47 pm (UTC)В реальной жизни иногда случаются вопросы, на которые нельзя ответить "да" или "нет". В математике, кстати, тоже. Поэтому доказательство от противного имеет доказательную силу пока сохраняется уверенность в том, что кроме ответа "нет" есть единственная альтернатива.
Кстати интересно, как Вы собираетесь доказывать не от противного неравенство мощностей натуральных и вещественных чисел?
no subject
Date: 2006-10-10 10:53 pm (UTC)no subject
Date: 2006-10-10 10:56 pm (UTC)А всё же.
Известно ли Вам более элегантное доказательство неравномощности вещественных и натуральных чисел, чем от противного?
Если Ваш ответ заведомом не принесёт мне ничего нового, лучше его и не пишите, я ж не для спора сюда встрял, а ради Знания, как ни пафосно это не прозвучит.
no subject
Date: 2006-10-10 11:00 pm (UTC)no subject
Date: 2006-10-10 11:43 pm (UTC)Не от противного, верно?
Как раз в данном случае, мне кажется, нет существенной разницы между прямым доказательством и от противного.
no subject
Date: 2006-10-10 11:50 pm (UTC)Не знаю, просто лично мне доказательство от противного кажется эдакой жемчужиной, найденной математиками в море разнообразных методов доказательства. Оно простое, красивое, мощное и удобное - если привыкнуть немножко.
Ой, "на вкус и цвет все фломастеры разные", и тут это применимо в полной мере. Это спор о вкусах.
no subject
Date: 2006-10-11 12:11 am (UTC)no subject
Date: 2006-10-11 12:10 am (UTC)no subject
no subject
Date: 2006-10-11 07:26 am (UTC)no subject
Date: 2006-10-11 12:08 am (UTC)Давно понял, что ничего стоящего не придумаешь, если изначально думать "от противного". "Противного" и бессмысленного слишком много.
no subject
Date: 2006-10-11 12:22 am (UTC)no subject
Date: 2006-10-11 12:25 am (UTC)Кому что противно, рассказали недавно --
"Меня милый не целует,
Не пускает близко.
Я, мол, чистый математик,
а ты программистка."
no subject
Date: 2006-10-11 07:41 am (UTC)прочитайте еще раз сообщение, на которое отвечаете и перестаньте тупить
no subject
Date: 2006-10-11 11:25 pm (UTC)no subject
Date: 2006-10-10 09:09 pm (UTC)> истинность P(y), тогда верно и P(x). Если мы докажем это, то принцип
> математической индукции гласит, что мы доказали P(x) для любого x.
I believe at Fiz-Tech they called this "The Method of Partial (or Female) Induction".
What about the "initial step" - so called basis? (See http://en.wikipedia.org/wiki/Mathematical_induction (http://en.wikipedia.org/wiki/Mathematical_induction))
no subject
Date: 2006-10-10 09:36 pm (UTC)no subject
Date: 2006-10-10 10:02 pm (UTC)no subject
Date: 2006-10-10 11:33 pm (UTC)Может быть, но нет!...
Date: 2006-10-10 09:41 pm (UTC)Re: Может быть, но нет!...
Date: 2006-10-10 10:38 pm (UTC)Re: Может быть, но нет!...
Date: 2006-10-11 05:37 am (UTC)no subject
Date: 2006-10-10 10:33 pm (UTC)no subject
Date: 2006-10-11 07:45 am (UTC)просто не на все вопросы есть однозначный ответ "да" или "нет". (иными словами, есть принципиально неразрешимые задачи.)
это вполне доказанный закон природы.
no subject
Date: 2006-10-11 06:42 am (UTC)