Краткое содержание
Одна и та же функция истинности допускает бесконечно много представляющих её формул, и ни одна из них, взятая наугад, не позволяет увидеть, что она говорит. Этот урок фиксирует два шаблона, в которые укладывается всякая формула с точностью до эквивалентности: дизъюнктивную нормальную форму, дизъюнкцию конъюнкций литералов, и конъюнктивную нормальную форму, конъюнкцию дизъюнкций литералов. Определяются литералы, дизъюнкты и элементарные конъюнкции; доказывается, что отрицание переводит одну форму в другую, если каждый литерал заменить противоположным, и в этом состоит двойственность между ними; по таблице истинности строятся совершенные нормальные формы и доказывается их единственность. Теорема существования получает два доказательства: по таблице, как следствие функциональной полноты, и индукцией по сложности, с единственным случаем стрелки Пирса и с двойным предположением индукции, которого требует это доказательство. В конце видно, почему они стоят усилий: общезначимость конъюнктивной формы и выполнимость дизъюнктивной решаются с первого взгляда.
Цели обучения
- Распознавать литералы, дизъюнкты, элементарные конъюнкции и формулы в дизъюнктивной или конъюнктивной нормальной форме, отличая форму, которая есть свойство цепочки, от эквивалентности, которая есть свойство значения.
- Строить по таблице истинности совершенные дизъюнктивную и конъюнктивную нормальные формы формулы и доказывать, что совершенная нормальная форма единственна и определяет класс эквивалентности формулы.
- Доказывать индукцией по сложности, что всякая формула эквивалентна некоторой дизъюнктивной нормальной форме и некоторой конъюнктивной, используя двойственность, обобщённые законы де Моргана и дистрибутивности и семантическую замену.
- Решать с первого взгляда вопрос об общезначимости конъюнктивной нормальной формы и о выполнимости дизъюнктивной и применять нормальные формы к семантическому следованию и к оценке наименьшего размера нормальной формы.
В предыдущих уроках этого раздела формулам было придано значение: урок о семантике логики высказываний продолжил каждую оценку на все формулы; урок о семантическом следовании и эквивалентности определил эквивалентность и доказал семантическую замену; урок об обобщённых законах де Моргана и дистрибутивности распространил эти законы на конъюнкции и дизъюнкции из формул; а урок о функциональной полноте показал, что всякая функция истинности представляется некоторой формулой. Однако функция истинности представляется бесконечным числом формул, которые могут сильно отличаться друг от друга: , и суть три имени одного и того же. Если это так, то в каждом классе эквивалентности стоит выбрать представителя фиксированного вида, который читается без усилий и на котором некоторые вопросы решаются одним взглядом. Это и есть нормальные формы.
Литералы, дизъюнкты и нормальные формы
Напомним из урока об обобщённых законах обозначение конъюнкции и дизъюнкции формул, определённое рекурсией с ассоциированием влево; конъюнкция и дизъюнкция одной формулы есть сама эта формула.
В том же уроке было доказано, что порядок и группировка членов не меняют формулу с точностью до эквивалентности (обобщённая ассоциативность и независимость от порядка и от повторений); поэтому мы будем писать также без скобок, подразумевая группировку влево.
Литерал есть переменная , которая называется положительным литералом, или отрицание переменной, которое называется отрицательным литералом. Противоположный литералу литерал, который мы записываем как , есть литерал той же переменной с другим знаком:
Из определения следует, что . Два литерала образуют контрарную пару, если один из них противоположен другому, как и .
Дизъюнкт есть дизъюнкция литералов, , а элементарная конъюнкция есть конъюнкция литералов, , причём в обоих случаях; поэтому один литерал есть одновременно дизъюнкт и элементарная конъюнкция. Говорят, что литерал входит в дизъюнкт или в элементарную конъюнкцию, если он есть один из их .
Формула находится в дизъюнктивной нормальной форме, если она есть дизъюнкция элементарных конъюнкций, и в конъюнктивной нормальной форме, если она есть конъюнкция дизъюнктов; то есть если она имеет соответственно один из двух следующих видов, где и суть натуральные числа и каждое есть литерал:
Будем говорить, что есть дизъюнктивная нормальная форма формулы , если она находится в дизъюнктивной нормальной форме и , и так же для конъюнктивной. Длины могут меняться от одной конъюнкции (или дизъюнкта) к другой: требование одинакового числа литералов во всех заставило бы заполнять повторениями и ничего бы не добавило.
Формула находится в дизъюнктивной нормальной форме, причём , и ; она не находится в конъюнктивной форме, так как не является конъюнкцией (две её компоненты различны, а конъюнкция есть двойное отрицание), и не является дизъюнктом: прочитанная как дизъюнкция, она имеет член , который не есть ни литерал, ни дизъюнкция литералов. Формула находится в обеих формах: как дизъюнкция одной-единственной элементарной конъюнкции () и как конъюнкция трёх дизъюнктов по одному литералу в каждом. Точно так же есть одновременно дизъюнкт, то есть конъюнктивная форма с , и дизъюнктивная форма из двух конъюнкций по одному литералу.
Напротив, и не находятся ни в одной из двух форм, хотя первая эквивалентна , а вторая , которые в них находятся.
Стоит задержаться на том, что значит «находиться в нормальной форме». Это свойство цепочки кружков и дисков, а не её значения: урок об индукции по натуральным числам и по формулам доказал однозначность разбора, так что вопрос, является ли формула дизъюнкцией и чего именно, имеет единственный ответ. Однако официальные сокращения приводят к тому, что некоторые формулы находятся в нормальной форме, не выглядя так. Импликация определяется как : дело не в том, что она эквивалентна этому дизъюнкту, а в том, что она есть та же самая цепочка, и поэтому уже находится в нормальной форме. Ещё неожиданнее двойное отрицание. По определениям и цепочка есть , то есть ; откуда не есть литерал, но есть, буква в букву, дизъюнкт .
Значение конъюнкций и дизъюнкций
Из урока о семантике берутся значения производных связок: ; , что равно тогда и только тогда, когда обе равны ; и тогда и только тогда, когда обе равны . Урок об обобщённых законах де Моргана и дистрибутивности распространил их на формул индукцией по числу членов в лемме о значении: для всякой оценки конъюнкция принимает значение при тогда и только тогда, когда каждая принимает значение при , а дизъюнкция принимает значение при тогда и только тогда, когда некоторая принимает значение при . Эта лемма, которая здесь цитируется без повторения доказательства, есть инструмент, которым вычисляется значение любой нормальной формы.
Для всякого литерала отрицание эквивалентно противоположному литералу, ; в частности, для всякой оценки .
Доказательство
Если есть переменная , противоположный ему литерал есть , что есть в точности цепочка : доказывать нечего.
Если есть , его отрицание есть , что не является литералом; по закону двойного отрицания (урок о семантическом следовании и эквивалентности) оно эквивалентно , а это литерал, противоположный .
В обоих случаях и имеют одно и то же значение при всякой оценке, а значение даётся значением отрицания.
Второй случай легко упустить: при отрицании нормальной формы тянет написать вместо литерала, а литералом не является. Именно двойное отрицание возвращает результат в шаблон.
Элементарная конъюнкция выполнима тогда и только тогда, когда не содержит ни одной контрарной пары. Дизъюнкт общезначим тогда и только тогда, когда содержит некоторую контрарную пару.
Доказательство
Если элементарная конъюнкция содержит и , то при всякой оценке один из двух равен по предыдущей лемме; по лемме о значении конъюнкция равна при всякой оценке.
Если она не содержит ни одной контрарной пары, определим оценку, которая придаёт каждой переменной, входящей в неё как положительный литерал, и каждой переменной, входящей в неё как отрицательный литерал (остальным ). Определение непротиворечиво, поскольку ни одна переменная не входит обоими способами.
При этой оценке все её литералы равны , и по лемме о значении конъюнкция равна : она выполнима.
Если дизъюнкт содержит и , то при всякой оценке один из двух равен , и дизъюнкт равен : он общезначим.
Если он не содержит ни одной контрарной пары, оценка, которая придаёт его положительным переменным и его переменным под отрицанием, делает все его литералы равными ; по лемме о значении дизъюнкт равен при ней и не общезначим.
Загрузка содержимого…