Как проверить тавтологию: пошаговое решение
Дано: формула от трёх переменных. Найти: является ли она тавтологией, и подтвердить вывод тремя независимыми способами.
Тавтология - формула, истинная на любом наборе значений переменных, поэтому вся проверка сводится к одному вопросу: найдётся ли хотя бы один набор, на котором формула ложна. Быстрее всего отвечает метод от противного: предполагаем и разматываем импликации, пока не упрёмся в противоречие. Ответ: формула является тавтологией, опровергающего набора не существует, все восемь строк таблицы дают единицу, а в КНФ каждый из четырёх дизъюнктов содержит переменную вместе с её отрицанием. Калькулятор сверху переключает три способа проверки на этой же формуле и считает вердикт ещё для трёх.
Решение по шагам
Дано. , переменные , , .
Найти. Тавтология ли , то есть истинна ли она на всех наборах значений.
Шаг 1. Переформулируем задачу. Проверять «истинна везде» в лоб дорого: наборов уже , а для десяти переменных их больше тысячи. Отрицание проверяется дешевле: формула не является тавтологией тогда и только тогда, когда существует хотя бы один опровергающий набор, на котором . Значит, будем искать такой набор, и если поиск упрётся в противоречие, вопрос закрыт.
Шаг 2. Предполагаем, что формула ложна. Внешняя операция здесь импликация, а она ложна ровно в одном случае: посылка истинна, следствие ложно.
Из предположения сразу получаются два равенства:
Шаг 3. Раскручиваем следствие. Импликация ложна только при и . Выбора здесь нет: обе переменные определились однозначно, ветвиться не на что.
Шаг 4. Раскручиваем посылку. Конъюнкция истинна, только если истинны оба множителя, поэтому и . Подставляем известное : из следует . Подставляем найденное во вторую импликацию: из следует .
Шаг 5. Ловим противоречие. На шаге 3 получилось , на шаге 4 - . Одна переменная не может принимать оба значения сразу, значит предположение несовместно: набора, опровергающего формулу, не существует ни одного.
Ответ. Формула является тавтологией. Это закон транзитивности импликации, он же цепное правило: если из следует , а из следует , то из следует .
Проверка таблицей истинности
Метод от противного укладывается в пять строк рассуждения, но на контрольной обычно просят ещё и таблицу. Переменных три, поэтому строк ровно , а промежуточные столбцы заводятся по одному на каждую операцию в порядке приоритета. Сам порядок заполнения разобран в задаче как построить таблицу истинности, нас здесь интересует только итоговый столбец.
| № | ||||||||
|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 2 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 |
| 3 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
| 5 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 6 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
| 7 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Ноль в столбце мог появиться только там, где следствие равно нулю, то есть в строках 4 и 6, где и . Но ровно в этих строках обнуляется и посылка: при таких и любое значение ломает одну из двух импликаций. Если , ложной становится , если - ложной становится . А импликация с ложной посылкой истинна, поэтому в обеих строках .
Ответ по таблице. Столбец - восемь единиц подряд, ни одного нуля. Формула тождественно истинна, вывод совпал с методом от противного. Перебор дал тот же результат, но написать пришлось в несколько раз больше: это нормальная плата за то, что таблица не требует догадок.
Приведение к КНФ: третий способ
Третий способ не перебирает наборы вообще, а работает с записью формулы. Формулу приводят к конъюнктивной нормальной форме - конъюнкции дизъюнктов, где под знаком отрицания стоят только переменные. Делается это в три хода: импликации заменяют по правилу , отрицания опускают к переменным по законам де Моргана, а затем раскрывают скобки распределительным законом. Те же преобразования используются в задаче как упростить логическое выражение, только цель там другая: там запись укорачивают, а здесь загоняют в стандартный вид.
Убираем внешнюю импликацию и вносим отрицание внутрь:
Теперь раскрываем скобки: дизъюнкция двух конъюнкций даёт четыре дизъюнкта, и к каждому дописываются свободные литералы и :
Признак тавтологии в КНФ простой: формула тождественно истинна тогда и только тогда, когда каждый дизъюнкт содержит какую-нибудь переменную вместе с её отрицанием. Работает он потому, что дизъюнкт ложен, только когда ложны все его литералы разом, а пара и этого не допускает при любом значении . Если же в дизъюнкте контрарной пары нет, каждому литералу можно назначить ноль независимо от остальных, и опровергающий набор строится руками.
Проверяем наши четыре дизъюнкта: в первом и втором есть и , в третьем - и , в четвёртом - и . Все четыре тождественно истинны, конъюнкция единиц тоже единица. Третий способ подтвердил ответ: формула является тавтологией. О второй канонической форме, СДНФ, и о том, зачем она нужна, написано в разборе совершенной дизъюнктивной нормальной формы.
Тавтология, выполнимость и противоречие
Проверка на тавтологию всегда заканчивается одним из трёх вердиктов, и они отличаются только тем, что стоит в столбце .
| Столбец | Как называется формула | Пример |
|---|---|---|
| Одни единицы | тождественно истинная, тавтология | |
| И единицы, и нули | выполнимая, но не тавтология | |
| Одни нули | тождественно ложная, противоречие |
Между крайними строками таблицы есть двойственность: формула является тавтологией тогда и только тогда, когда тождественно ложна. Поэтому в прикладной логике задачу обычно переворачивают: берут отрицание формулы, приводят его к КНФ и отдают SAT-решателю с вопросом «есть ли выполняющий набор». Ответ «нет» означает, что исходная формула тавтология. Метод от противного из шагов 2-5 - ручная версия ровно этой процедуры.
Какой способ выбирать
Таблица истинности выигрывает, когда переменных три или четыре, а проверяющий хочет видеть перебор целиком. Её минус - рост : пять переменных дают 32 строки, десять уже 1024, и вручную такую таблицу не заполнить.
Метод от противного хорош, когда внешняя операция - импликация или дизъюнкция: у них ложное значение достигается единственным способом, поэтому значения переменных определяются однозначно и рассуждение идёт по прямой. Если же внешняя операция конъюнкция, её ноль можно получить несколькими способами, и приходится разбирать случаи ветвлением.
Приведение к КНФ удобно, когда формула и так близка к нужному виду или когда её всё равно требуется упростить. Плюс способа в том, что он не зависит от числа переменных: критерий проверяется по записи, а не перебором наборов.
Частые ошибки
- Проверили формулу на двух-трёх наборах, получили единицы и записали в тавтологии. Единица на отдельном наборе доказывает только выполнимость; тавтология требует всех строк.
- В методе от противного предполагают и ждут противоречия. Предполагать надо ложность: доказательство идёт от опровергающего набора.
- Забывают, что импликация с ложной посылкой истинна, и ставят ноль в строках 4 и 6. Именно эта ошибка чаще всего превращает тавтологию в «не тавтологию».
- Читают формулу без учёта приоритета: конъюнкция сильнее импликации, поэтому - это импликация с посылкой-конъюнкцией, а не конъюнкция двух импликаций.
- Из условия «дизъюнкция равна единице» делают однозначный вывод о значениях слагаемых. Единица дизъюнкции допускает три варианта, и здесь нужен разбор случаев, иначе противоречие окажется выдуманным.
- В КНФ ищут контрарную пару во всей формуле, а не в каждом дизъюнкте отдельно. Достаточно одного дизъюнкта без пары, чтобы формула перестала быть тавтологией.
FAQ
Чем тавтология отличается от равносильности формул? Равносильность - это отношение между двумя формулами, тавтология - свойство одной. Связаны они так: формулы и равносильны тогда и только тогда, когда является тавтологией. Поэтому любая проверка равносильности сводится к проверке эквивалентности на тождественную истинность.
Можно ли доказать тавтологию, подставив несколько удачных наборов? Опровергнуть можно: достаточно одного набора с , и вопрос закрыт. Доказать подстановкой нельзя - нужен либо полный перебор, либо рассуждение, покрывающее все наборы сразу, как метод от противного или критерий по КНФ.
Что делать, если переменных много? При таблица перестаёт быть инструментом: для двадцати переменных это больше миллиона строк. Работают метод от противного, метод резолюций и приведение к КНФ с проверкой на выполнимость; на этом же принципе построены промышленные SAT-решатели.
Бывают ли тавтологии без импликаций? Да, и самые известные записываются короче нашей: - закон исключённого третьего, - закон противоречия. Обе проверяются таблицей из двух строк и обе состоят из одного дизъюнкта с контрарной парой.
Коротко
- Тавтология - формула, истинная на всех наборах; проверять удобнее обратное утверждение, то есть искать набор с .
- Метод от противного: предположить , раскрутить операции до значений переменных и поймать противоречие. Противоречие есть - тавтология, противоречия нет - найденный набор и будет контрпримером.
- Таблица истинности: строк, промежуточный столбец на каждую операцию; восемь единиц в столбце означают тождественную истинность.
- КНФ: убрать импликации, опустить отрицания, раскрыть скобки и проверить, в каждом ли дизъюнкте есть переменная вместе с её отрицанием.
- Для все три способа дали один ответ: это тавтология, закон транзитивности импликации.
Похожие задачи
Как применить правила вывода: решение по шагам
Как применять правила вывода в логике высказываний: модус поненс, модус толленс, гипотетический и дизъюнктивный силлогизм. Разбор вывода из пяти посылок и проверка набором.
Матлогика/алгоритмыКак построить машину Тьюринга: пошаговое решение
Как построить машину Тьюринга для конкретной задачи: внешний алфавит, состояния, таблица переходов и полная трассировка ленты при прибавлении единицы к числу 1011.
Матлогика/алгоритмыКак построить вывод формулы: пошаговое решение
Как построить вывод формулы в исчислении высказываний: схемы аксиом, правило modus ponens, разбор вывода A → A из пяти шагов, обратный ход от цели и теорема о дедукции.
Дискретная математикаКак составить СКНФ по таблице: пошаговое решение
СКНФ по таблице истинности: разбор задачи с числами. Строки с нулём дают макстермы, отрицание ставится на единицах, ответ проверяется подстановкой. Внутри калькулятор и сравнение с СДНФ.
Дискретная математикаКак упростить логическое выражение: решение по шагам
Как упростить логическое выражение по законам алгебры логики: де Морган, распределительный закон, склеивание и поглощение. Пошаговый разбор примера и проверка ответа таблицей.
Дискретная математикаКак построить таблицу истинности: пошаговое решение
Как построить таблицу истинности логической формулы: сколько получится строк, в каком порядке перебирать наборы значений, как заполнять промежуточные столбцы и проверять итог.