Difference between revisions of "Negation normal form"

From formulasearchengine
Jump to navigation Jump to search
(Undid revision 469124476 by 195.6.80.114 (talk))
 
en>Ayush3292
 
Line 1: Line 1:
'''Negation normal form''' is an elementary [[canonical form]] in mathematical logic. There are similar requirements for negation normal form in different logic fragments.
+
In [[mathematical logic]], a formula is in '''negation normal form''' if the [[negation]] operator (<math>\lnot</math>, {{smallcaps|not}}) is only applied to variables and the only other allowed [[Boolean algebra|Boolean operators]] are [[logical conjunction|conjunction]] (<math>\land</math>, {{smallcaps|and}}) and [[logical disjunction|disjunction]] (<math>\lor</math>, {{smallcaps|or}}).  
  
In [[predicate logic]], a logical formula is in '''negation normal form''' if [[negation]] occurs only immediately above elementary propositions, and {<math>\lnot, \lor,\land</math>} are the only allowed Boolean connectives. In classical logic each formula can be brought into this form by replacing implications and equivalences by their definitions, using [[De Morgan's laws]] to push negation inside, and eliminating double negations.  This process can be represented using the following [[rewrite rule]]s:
+
Negation normal form is not a canonical form: for example, <math>a \land (b\lor \lnot c)</math> and <math>(a \land b) \lor (a \land \lnot c)</math> are equivalent, and are both in negation normal form.
 +
 
 +
In classical logic and many [[modal logic]]s, every formula can be brought into this form by replacing implications and equivalences by their definitions, using [[De Morgan's laws]] to push negation inwards, and eliminating double negations.  This process can be represented using the following [[rewrite rule]]s:
  
 
:<math>\lnot (\forall x. G) \to \exists x. \lnot G</math>
 
:<math>\lnot (\forall x. G) \to \exists x. \lnot G</math>
Line 9: Line 11:
 
:<math>\lnot (G_1 \lor G_2) \to (\lnot G_1) \land (\lnot G_2)</math>
 
:<math>\lnot (G_1 \lor G_2) \to (\lnot G_1) \land (\lnot G_2)</math>
  
A formula in negation normal form can be put into the stronger [[conjunctive normal form]] or [[disjunctive normal form]] by applying the distributivity laws.
+
A formula in negation normal form can be put into the stronger [[conjunctive normal form]] or [[disjunctive normal form]] by applying [[Distributive property|distributivity]].
 +
 
 +
==Examples and counterexamples==
 +
The following formulae are all in negation normal form:
 +
:<math>(A \vee B) \wedge C</math>
 +
:<math>(A \wedge (\lnot B \vee C) \wedge \lnot C) \vee D</math>
 +
:<math>A \vee \lnot B</math>
 +
:<math>A \wedge \lnot B</math>
 +
 
 +
The first example is also in [[conjunctive normal form]] and the last two are in both [[conjunctive normal form]] and [[disjunctive normal form]], but the second example is in neither.
 +
 
 +
The following formulae are not in negation normal form:
 +
:<math>A \Rightarrow B</math>
 +
:<math>\lnot (A \vee B)</math>
 +
:<math>\lnot (A \wedge B)</math>
 +
:<math>\lnot (A \vee \lnot C)</math>
 +
 
 +
They are however respectively equivalent to the following formulae in negation normal form:
 +
:<math>\lnot A \vee B</math>
 +
:<math>\lnot A \wedge \lnot B</math>
 +
:<math>\lnot A \vee \lnot B</math>
 +
:<math>\lnot A \wedge C</math>
 +
 
 +
==References==
 +
 
 +
* Alan J.A. Robinson and Andrei Voronkov, ''Handbook of Automated Reasoning'' '''1''':203''ff''  (2001) ISBN 0444829490.
  
 
==External links==
 
==External links==
Line 16: Line 43:
 
[[Category:Propositional calculus]]
 
[[Category:Propositional calculus]]
 
[[Category:Normal forms (logic)]]
 
[[Category:Normal forms (logic)]]
 
 
{{logic-stub}}
 
 
[[de:Negationsnormalform]]
 
[[es:Forma normal negativa]]
 
[[ja:否定標準形]]
 
[[pt:Forma normal da negação]]
 
[[sr:Негацијска нормална форма]]
 

Latest revision as of 09:45, 17 December 2013

In mathematical logic, a formula is in negation normal form if the negation operator (, not) is only applied to variables and the only other allowed Boolean operators are conjunction (, and) and disjunction (, or).

Negation normal form is not a canonical form: for example, and are equivalent, and are both in negation normal form.

In classical logic and many modal logics, every formula can be brought into this form by replacing implications and equivalences by their definitions, using De Morgan's laws to push negation inwards, and eliminating double negations. This process can be represented using the following rewrite rules:

A formula in negation normal form can be put into the stronger conjunctive normal form or disjunctive normal form by applying distributivity.

Examples and counterexamples

The following formulae are all in negation normal form:

The first example is also in conjunctive normal form and the last two are in both conjunctive normal form and disjunctive normal form, but the second example is in neither.

The following formulae are not in negation normal form:

They are however respectively equivalent to the following formulae in negation normal form:

References

  • Alan J.A. Robinson and Andrei Voronkov, Handbook of Automated Reasoning 1:203ff (2001) ISBN 0444829490.

External links