Дизъюнктивные и конъюнктивные нормальные формы
Имеется ряд специальных подклассов формул, позволяющих задавать все булевы функции. В этом разделе мы определим два таких подкласса функций, использующих только операции
и .Пусть
- это множество пропозициональных переменных. Введем для каждого обозначения: и . Формула(
), в которой и все переменные разные, т.е. при , называется элементарной конъюнкцией (элементарной дизъюнкцией).Определение 1.4.Формула
называется дизъюнктивной нормальной формой (ДНФ), если она является дизъюнкцией элементарных конъюнкций, т.е. имеет видгде каждая формула
- это элементарная конъюнкция. называется совершенной ДНФ, если в каждую из ее конъюнкций входят все переменных изАналогично, формула
называется конъюнктивной нормальной формой (КНФ), если она является конъюнкцией элементарных дизъюнкций, т.е.где каждая формула
- это элементарная дизъюнкция. Она является совершенной КНФ, если в каждую входят все переменных изРассмотрим произвольную булеву функцию
, зависящую от переменных из . Oбозначим черезмножество наборов значений переменных, на которых
принимает значение 1, а черезмножество наборов, на которых
принимает значение 0, т.е. иОпределим по этим множествам две формулы:
и
Теорема 1.1.
(1) Если функция
не равна тождественно 0, то формула - это совершенная ДНФ, задающая функцию .(2) Если функция
не равна тождественно 1, то формула - это совершенная КНФ, задающая функцию .Пример 1.2. Например, для функции
, представленной в таблице 1.1совершенная ДНФ равна
, а ее совершенная КНФ:Отметим, что совершенные ДНФ и КНФ часто являются чересчур сложными и длинными представлениями булевых функций. В нашем примере
может быть задана более простой ДНФ: .