В математической логике формула находится в отрицательной нормальной форме (NNF) , если оператор отрицания ( , not ) применяется только к переменным, а единственными другими разрешенными булевыми операторами являются конъюнкция ( , and ) и дизъюнкция ( , or ).
Нормальная форма отрицания не является канонической : например, и эквивалентны, и оба находятся в нормальной форме отрицания.
В классической логике и многих модальных логиках каждая формула может быть приведена к этой форме путем замены импликаций и эквивалентностей их определениями, используя законы Де Моргана для перемещения отрицания внутрь и устранения двойных отрицаний. Этот процесс может быть представлен с использованием следующих правил переписывания : [1]
(В этих правилах символ указывает на логическое значение переписываемой формулы и является операцией переписывания.)
Преобразование в отрицательную нормальную форму может увеличить размер формулы только линейно: число вхождений атомарных формул остается прежним, общее число вхождений и не изменяется, а число вхождений в нормальной форме ограничено длиной исходной формулы.
Формула в отрицательной нормальной форме может быть приведена к более сильной конъюнктивной нормальной форме или дизъюнктивной нормальной форме путем применения дистрибутивности . Повторное применение дистрибутивности может экспоненциально увеличить размер формулы. В классической пропозициональной логике преобразование в отрицательную нормальную форму не влияет на вычислительные свойства: проблема выполнимости продолжает быть NP-полной , а проблема действительности продолжает быть co-NP-полной . Для формул в конъюнктивной нормальной форме проблема действительности разрешима за полиномиальное время, а для формул в дизъюнктивной нормальной форме проблема выполнимости разрешима за полиномиальное время.
Все следующие формулы находятся в отрицательной нормальной форме:
Первый пример также находится в конъюнктивной нормальной форме , а последние два — как в конъюнктивной нормальной форме , так и в дизъюнктивной нормальной форме , но второй пример не находится ни в одной из них.
Следующие формулы не находятся в отрицательной нормальной форме:
Однако они соответственно эквивалентны следующим формулам в нормальной форме отрицания: