Логика
Таблицы истинности
Как узнать, что аргумент работает ВСЕГДА, а не только в примерах, которые мы проверили? Таблицы истинности - это способ перебрать ВСЕ возможные случаи и убедиться наверняка.
- **Проектирование схем:** Каждый логический элемент компьютера — это реализация таблицы истинности в кремнии
- **Проверка контрактов:** Юристы используют логику для поиска лазеек — комбинаций условий, где контракт не работает
- **Тестирование ПО:** Таблицы решений (decision tables) — прямые потомки таблиц истинности для проверки всех веток кода
Таблицы истинности
**Таблица истинности** - это способ перебрать все возможные комбинации значений переменных и вычислить результат формулы для каждой. Это как чек-лист: мы не угадываем, а проверяем все случаи.
**Истоки:** Таблицы истинности формализовал Людвиг Витгенштейн в 1921 году. Они стали основой компьютерной логики - каждый транзистор реализует простейшую таблицу истинности.
**Количество строк:** Если в формуле n переменных, таблица имеет 2ⁿ строк. Две переменные - 4 строки. Три - 8. Четыре - 16. Поэтому для сложных формул таблицы становятся громоздкими.
Сколько строк будет в таблице истинности для формулы (P ∧ Q) → R?
Систематическая проверка
**Систематическая проверка** - это пошаговое вычисление сложной формулы через таблицу истинности. Мы разбиваем формулу на части и вычисляем каждую часть для всех комбинаций.
**Порядок операций:** Сначала отрицания (¬), потом конъюнкции (∧), потом дизъюнкции (∨), последними - импликации (→) и эквиваленции (↔). Скобки меняют порядок.
**Проверка аргумента через таблицу:** Аргумент валиден, если НЕ существует строки, где все посылки истинны, а вывод ложен. Достаточно найти одну такую строку - и аргумент опровергнут.
**Контрпример** - это конкретная комбинация значений, где посылки истинны, а вывод ложен. Если такая комбинация есть - аргумент невалиден. Если её нет - аргумент валиден.
Аргумент: «Если идёт дождь (P), то улицы мокрые (Q). Улицы мокрые. Значит, идёт дождь». Это P→Q, Q ⊢ P. Какой контрпример опровергает этот аргумент?
Тавтология
**Тавтология** - это формула, истинная при ЛЮБЫХ значениях переменных. В таблице истинности у неё все строки дают «И». Тавтологии - это законы логики, работающие всегда.
**Почему это важно:** Тавтологии - это «бесплатные» утверждения. Их истинность не зависит от фактов о мире. Они истинны по самой структуре логики.
**Тавтология и валидность:** Аргумент валиден тогда и только тогда, когда формула «(Посылка₁ ∧ Посылка₂ ∧ ... ∧ Посылкаₙ) → Вывод» является тавтологией.
Какая из этих формул является тавтологией?
Противоречие
**Противоречие** - это формула, ложная при ЛЮБЫХ значениях переменных. В таблице истинности все строки дают «Л». Это антипод тавтологии.
**Связь с тавтологией:** Формула F - противоречие ⟺ ¬F - тавтология. Отрицание противоречия всегда истинно, отрицание тавтологии всегда ложно.
**Контингентная формула** - ни тавтология, ни противоречие. Истинна при одних значениях, ложна при других. Большинство формул - контингентные. Они «зависят от обстоятельств».
**Практическое значение:** Если из твоих посылок следует противоречие - твои посылки несовместимы. Хотя бы одна из них должна быть ложной. Это основа доказательства от противного.
Противоречие - это просто ошибка в рассуждении
Противоречие - это формула, которая структурно не может быть истинной
Противоречие - не ошибка, а логический объект с чёткой структурой. Его используют в доказательствах: если из посылки следует противоречие, посылка ложна.
Формула (P → Q) ∧ P ∧ ¬Q - это:
Ключевые идеи
- **Таблица истинности** перебирает все 2ⁿ комбинаций n переменных и вычисляет результат формулы
- **Аргумент валиден**, если нет строки, где все посылки истинны, а вывод ложен (контрпример)
- **Тавтология** — формула, истинная всегда; **Противоречие** — формула, ложная всегда
- **Контингентная формула** — истинна при одних значениях, ложна при других — зависит от фактов
Связанные темы
Таблицы истинности - основа для формальных методов:
- Отрицание — Таблица истинности показывает, как отрицание инвертирует значения
- Логическая эквивалентность — Две формулы эквивалентны, если их таблицы истинности совпадают
Вопросы для размышления
- Почему таблицы истинности работают для пропозициональной логики, но не для предикатной (с кванторами «все», «существует»)?
- При 10 переменных таблица имеет 1024 строки. Как компьютеры справляются с формулами, где сотни переменных?
- Можно ли считать законы логики (тавтологии) «открытыми» или они «изобретены»?