Язык математики

Техника доказательств

Прямое, от противного, контрапозиция, индукция и контрпример — четыре с половиной приёма, которых хватает

Шаг 10 из 117 · ~28 мин

Цель этого урока — не научиться доказывать теоремы, а научиться читать доказательства в статьях, не спотыкаясь о «предположим противное» и «в силу индуктивного предположения».

Что вообще доказывают

Почти всегда — импликацию PQP \Rightarrow Q: «если выполнено PP, то верно QQ».

Важно, что импликация ложна только когда PP истинно, а QQ ложно. Если PP ложно, вся импликация истинна независимо от QQ — то самое «vacuously true», которое смущает при первой встрече.

Прямое доказательство

Предполагаем PP, цепочкой шагов выводим QQ.

Утверждение. Если nn чётно, то n2n^2 чётно.

Пусть n=2kn = 2k. Тогда n2=4k2=2(2k2)n^2 = 4k^2 = 2(2k^2), что чётно. \square

Скучно и работает в большинстве случаев. Символ \square (или \blacksquare, или QED) означает конец доказательства.

Контрапозиция

PQP \Rightarrow Q равносильно ¬Q¬P\neg Q \Rightarrow \neg P. Не «похоже», а именно равносильно — это одно и то же утверждение.

Приём полезен, когда отрицание QQ даёт больше зацепок, чем PP.

Утверждение. Если n2n^2 чётно, то nn чётно.

Докажем контрапозицию: если nn нечётно, то n2n^2 нечётно. Пусть n=2k+1n = 2k+1, тогда n2=4k2+4k+1=2(2k2+2k)+1n^2 = 4k^2 + 4k + 1 = 2(2k^2 + 2k) + 1 — нечётно. \square

Прямо это доказывать неудобно: из чётности n2n^2 трудно что-то извлечь. Из нечётности nn — легко.

Не путайте с обратным утверждением. QPQ \Rightarrow P — это не то же самое, что PQP \Rightarrow Q. «Если идёт дождь, асфальт мокрый» не равносильно «если асфальт мокрый, идёт дождь». А вот «если асфальт сухой, дождя нет» — равносильно.

От противного

Предполагаем, что утверждение ложно, и выводим противоречие.

Утверждение. 2\sqrt2 иррационально.

Предположим противное: 2=p/q\sqrt2 = p/q — несократимая дробь. Тогда p2=2q2p^2 = 2q^2, значит p2p^2 чётно, значит (по предыдущему утверждению) pp чётно, p=2mp = 2m. Подставляем: 4m2=2q24m^2 = 2q^2, то есть q2=2m2q^2 = 2m^2, значит и qq чётно. Но тогда дробь сократима — противоречие. \square

Приём мощный, но легко им злоупотребить: часто доказательство «от противного» на самом деле является прямым, просто с лишней обёрткой.

Индукция

Доказываем утверждение P(n)P(n) для всех натуральных nn:

  1. база: P(0)P(0) (или P(1)P(1)) верно;
  2. шаг: из P(n)P(n) следует P(n+1)P(n+1).

Это рекурсия, у которой доказана корректность: база — терминальный случай, шаг — рекурсивный вызов.

Утверждение. i=1ni=n(n+1)2\sum_{i=1}^{n} i = \dfrac{n(n+1)}{2}.

База: при n=1n = 1 слева 11, справа 12/2=11 \cdot 2 / 2 = 1. Верно.

Шаг: пусть формула верна для nn. Тогда i=1n+1i=n(n+1)2индуктивное предположение+(n+1)=n(n+1)+2(n+1)2=(n+1)(n+2)2\sum_{i=1}^{n+1} i = \underbrace{\frac{n(n+1)}{2}}_{\text{индуктивное предположение}} + (n+1) = \frac{n(n+1) + 2(n+1)}{2} = \frac{(n+1)(n+2)}{2} что и требовалось. \square

Сильная индукция — вариант, где на шаге разрешено пользоваться P(k)P(k) для всех knk \le n, а не только для nn. Формально эквивалентна обычной, но иногда удобнее.

Контрпример

Чтобы опровергнуть x:P(x)\forall x : P(x), достаточно одного xx с ¬P(x)\neg P(x). Это прямое следствие правила отрицания кванторов из предыдущего урока.

Асимметрия принципиальная: подтвердить «для всех» примерами нельзя, опровергнуть одним примером — можно. Отсюда практический навык: встретив утверждение, первым делом попробуйте его сломать на краевом случае — пустом множестве, нуле, отрицательном числе, совпадающих аргументах.

«Без ограничения общности»

W.l.o.g. означает: случаев несколько, но они симметричны, поэтому разбирается один.

Пусть aba \ne b. Без ограничения общности a<ba < b.

Здесь всё честно: случай a>ba > b получается переименованием. Но иногда за w.l.o.g. прячут пробел в рассуждении. Читая, стоит потратить секунду на вопрос «а действительно ли случаи симметричны».

Разрешите себе не понимать доказательства

Отдельное правило, которое экономит месяцы: можно пользоваться утверждением, не понимая его доказательства. Знать формулировку теоремы Эккарта–Янга и уметь применять SVD — полезно. Уметь доказывать её — почти никогда не нужно.

Границу проводите так: если утверждение вы используете, а доказательство только читаете — доказательство можно пропустить.

Источники

  • Hammack — Book of Proof, гл. 4–10 — Direct proof, contrapositive, contradiction, induction
  • Velleman — How to Prove It — Если Hammack покажется слишком быстрым

Проверки

0 из 2
  1. Контрапозиция

    Дано утверждение: «Если модель переобучилась, то ошибка на валидации выше ошибки на обучении».

    Какое утверждение ему равносильно?

  2. Включение-исключение

    Наивное утверждение «AB=A+B|A \cup B| = |A| + |B|» ложно: контрпримером служат любые пересекающиеся множества, например A={1,2}A = \{1,2\}, B={2,3}B = \{2,3\} — в объединении три элемента, а сумма мощностей равна четырём.

    Верная формула для трёх множеств выглядит так:

    ABC=A+B+CABACBC+ABC|A \cup B \cup C| = |A| + |B| + |C| - |A \cap B| - |A \cap C| - |B \cap C| + |A \cap B \cap C|

    Реализуйте union_size(a, b, c), которая принимает три списка чисел и возвращает мощность их объединения — посчитанную по этой формуле, а не через построение объединения.

    Смысл упражнения в том, чтобы увидеть, откуда берётся чередование знаков: каждый элемент должен быть посчитан ровно один раз, и знаки исправляют двойной и тройной учёт.

    функция union_size

    Загрузка редактора…

    Ctrl/⌘ + Enter