Normal Forms (Logic) PDF
Normal Forms (Logic) PDF
en.wikipedia.org
Chapter 1
In Boolean algebra, the algebraic normal form (ANF), ring sum normal form (RSNF or RNF), Zhegalkin normal
form, or ReedMuller expansion is a way of writing logical formulas in one of three subforms:
a b (a b) (a b c)
Formulas written in ANF are also known as Zhegalkin polynomials (Russian: ) and Positive
Polarity (or Parity) ReedMuller expressions.
2
1.3. CONVERTING TO ALGEBRAIC NORMAL FORM 3
(1 x) (1 x y)
1x1xy
11xxy
y
(1 x y)
1 (1 x y)
11xy
xy
(1 x)(1 x y)
1(1 x y) x(1 x y)
(1 x y) (x x xy)
1 x x x y xy
1 x y xy
OR (logical disjunction) uses either 1 (1 a)(1 b)[3] (easier when both operands have purely true terms) or a
b ab[4] (easier otherwise):
(1 x) + (1 x y)
1 (1 1 x)(1 1 x y)
1 x(x y)
1 x xy
x + (y z)
x + (y(1 z))
x + (y yz)
x (y yz) x(y yz)
x y xy yz xyz
f (x) = 0
f (x) = 1
f (x) = x
f (x) = 1 x
To represent a function with multiple arguments one can use the following equality:
g(x2 , . . . , xn ) = f (0, x2 , . . . , xn )
h(x2 , . . . , xn ) = f (0, x2 , . . . , xn ) f (1, x2 , . . . , xn )
Indeed,
Since both g and h have fewer arguments than f it follows that using this process recursively we will nish with
functions with one variable. For example, let us construct ANF of f (x, y) = x y (logical or):
Boolean function
Logical graph
Zhegalkin polynomial
Karnaugh map
Boolean ring
1.6. REFERENCES 5
1.6 References
[1] WolframAlpha NOT-equivalence demonstration: a = 1 a
Presentation (PDF) (in German). University of Duisburg-Essen. Archived (PDF) from the original on 2017-
04-19. Retrieved 2017-04-19.
Maxeld, Clive Max (2006-11-29). Reed-Muller Logic. Logic 101. EETimes. Part 3. Archived from the
original on 2017-04-19. Retrieved 2017-04-19.
Chapter 2
In the lambda calculus, a term is in beta normal form if no beta reduction is possible.[1] A term is in beta-eta
normal form if neither a beta reduction nor an eta reduction is possible. A term is in head normal form if there is
no beta-redex in head position.
(x.A)M
A beta reduction is an application of the following rewrite rule to a beta redex contained in a term t :
(x.A)M A[x := M ]
where A[x := M ] is the result of substituting the term M for the variable x in the term A .
A head beta reduction is a beta reduction applied in head position, that is, of the following form:
A head normal form is not always a normal form, because the applied arguments Mj need not be normal. However,
the converse is true: any normal form is also a head normal form. In fact, the normal forms are exactly the head
normal forms in which the subterms Mj are themselves normal forms. This gives an inductive syntactic description
of normal forms.
6
2.2. REDUCTION STRATEGIES 7
Normal-order reduction is the strategy in which one continually applies the rule for beta reduction in head
position until no more such reductions are possible. At that point, the resulting term is in head normal form. One
then continues applying head reduction in the subterms Mj , from left to right. Stated otherwise, normalorder
reduction is the strategy that always reduces the leftmost outermost redex rst.
By contrast, in applicative order reduction, one applies the internal reductions rst, and then only applies the
head reduction when no more internal reductions are possible.
Normal-order reduction is complete, in the sense that if a term has a head normal form, then normalorder reduction
will eventually reach it. By the syntactic description of normal forms above, this entails the same statement for a
fully normal form (this is the standardization theorem). By contrast, applicative order reduction may not terminate,
even when the term has a normal form. For example, using applicative order reduction, the following sequence of
reductions is possible:
(x.z)((w.www)(w.www))
(x.z)((w.www)(w.www)(w.www))
(x.z)((w.www)(w.www)(w.www)(w.www))
(x.z)((w.www)(w.www)(w.www)(w.www)(w.www))
...
But using normal-order reduction, the same starting point reduces quickly to normal form:
(x.z)((w.www)(w.www))
z
Sinots director strings is one method by which the computational complexity of beta reduction can be optimized.
2.4 References
[1] Beta normal form. Encyclopedia. TheFreeDictionary.com. Retrieved 18 November 2013.
Chapter 3
In Boolean logic, a formula for a Boolean function f is in Blake canonical form (BCF),[1] also called the complete
sum of prime implicants,[2] the complete sum,[3] or the disjunctive prime form,[4] when it is a disjunction of all
the prime implicants of f.[1] The Blake canonical form is a disjunctive normal form.
The Blake canonical form is not necessarily minimal, however all the terms of a minimal sum are contained in the
Blake canonical form.[3]
It was introduced in 1937 by Archie Blake, who called it the simplied canonical form";[5][6] it was named in honor
of Blake by Frank Markham Brown in 1990.[1]
Blake discussed three methods for calculating the canonical form: exhaustion of implicants, iterated consensus, and
multiplication. The iterated consensus method was rediscovered by Samson and Mills, Quine, and Bing.[1]
3.2 References
[1] Brown, Frank Markham (2012) [2003, 1990]. Chapter 4: The Blake Canonical Form. Boolean Reasoning - The Logic of
Boolean Equations (reissue of 2nd ed.). Mineola, New York: Dover Publications, Inc. pp. 77. ISBN 978-0-486-42785-0.
ISBN 0-486-42785-4.
[2] Sasao, Tsutomu (1996). Ternary Decision Diagrams and their Applications. In Sasao, Tsutomu; Fujita, Masahira.
Representations of Discrete Functions. p. 278. ISBN 0792397207.
[4] Donald E. Knuth, The Art of Computer Programming 4A: Combinatorial Algorithms, Part 1, 2011, p. 54
[5] Blake, Archie (1937). Canonical expressions in Boolean algebra (Dissertation). Department of Mathematics, University
of Chicago: University of Chicago Libraries.
[6] McKinsey, J. C. C., ed. (June 1938). Blake, Archie. Canonical expressions in Boolean algebra, Department of Mathemat-
ics, University of Chicago, 1937. The Journal of Symbolic Logic (Review). 3 (2:93). JSTOR 2267634. doi:10.2307/2267634.
8
Chapter 4
In Boolean logic, a formula is in conjunctive normal form (CNF) or clausal normal form if it is a conjunction of
clauses, where a clause is a disjunction of literals; otherwise put, it is an AND of ORs. As a normal form, it is useful
in automated theorem proving. It is similar to the product of sums form used in circuit theory.
All conjunctions of literals and all disjunctions of literals are in CNF, as they can be seen as conjunctions of one-
literal clauses and conjunctions of a single clause, respectively. As in the disjunctive normal form (DNF), the only
propositional connectives a formula in CNF can contain are and, or, and not. The not operator can only be used as
part of a literal, which means that it can only precede a propositional variable or a predicate symbol.
In automated theorem proving, the notion "clausal normal form" is often used in a narrower sense, meaning a par-
ticular representation of a CNF formula as a set of sets of literals.
A (B C)
(A B) (B C D) (D E)
AB
AB
The third formula is in conjunctive normal form because it can be seen as the conjunction of True and the clause (
A B ). Incidentally, the last two formulas are also in disjunctive normal form.
The following formulas are not in conjunctive normal form:
(B C)
(A B) C
A (B (D E)).
Every formula can be equivalently written as a formula in conjunctive normal form. In particular this is the case for
the three non-examples just mentioned; they are respectively equivalent to the following three formulas, which are in
conjunctive normal form:
B C
(A C) (B C)
A (B D) (B E).
9
10 CHAPTER 4. CONJUNCTIVE NORMAL FORM
This formula contains 2n clauses; each clause contains either Xi or Yi for each i .
There exist transformations into CNF that avoid an exponential increase in size by preserving satisability rather than
equivalence.[1][2] These transformations are guaranteed to only linearly increase the size of the formula, but introduce
new variables. For example, the above formula can be transformed into CNF by adding variables Z1 , . . . , Zn as
follows:
An interpretation satises this formula only if at least one of the new variables is true. If this variable is Zi , then
both Xi and Yi are true as well. This means that every model that satises this formula also satises the original one.
On the other hand, only some of the models of the original formula satisfy this one: since the Zi are not mentioned
in the original formula, their values are irrelevant to satisfaction of it, which is not the case in the last formula. This
means that the original formula and the result of the translation are equisatisable but not equivalent.
An alternative translation, the Tseitin transformation, includes also the clauses Zi Xi Yi . With these clauses,
the formula implies Zi Xi Yi ; this formula is often regarded to dene Zi to be a name for Xi Yi .
A formula in CNF can be converted into an equisatisable formula in "kCNF (for k3) by replacing each conjunct
with more than k variables X1 Xk Xn by two conjuncts X1 Xk1 Z and Z Xk Xn
with Z a new variable, and repeating as often as necessary.
2. Standardize variables
(a) For sentences like (xP (x)) (xQ(x)) which use the same variable name twice, change the name of
one of the variables. This avoids confusion later when dropping quantiers. For example, x[yAnimal(y)
Loves(x, y)] [yLoves(y, x)] is renamed to x[yAnimal(y) Loves(x, y)] [zLoves(z, x)] .
(a) Move quantiers outwards: repeatedly replace P (xQ(x)) with x(P Q(x)) ; replace P (xQ(x))
with x(P Q(x)) ; replace P (xQ(x)) with x(P Q(x)) ; replace P (xQ(x)) with x(P
Q(x)) . These replacements preserve equivalence, since the previous variable standardization step en-
sured that x doesn't occur in P . After these replacements, a quantier may occur only in the initial prex
of the formula, but never inside a , , or .
(b) Repeatedly replace x1 . . . xn y P (y) with x1 . . . xn P (f (x1 , . . . , xn )) , where f is a new n -ary
function symbol, a so-called "skolem function". This is the only step that preserves only satisability
rather than equivalence. It eliminates all existential quantiers.
As an example, the formula saying Anyone who loves all animals, is in turn loved by someone is converted into CNF
(and subsequently into clause form in the last line) as follows (highlighting replacement rule redices in red ):
Informally, the skolem function g(x) can be thought of as yielding the person by whom x is loved, while f (x) yields
the animal (if any) that x doesn't love. The 3rd last line from below then reads as " x doesn't love the animal f (x) ,
or else x is loved by g(x) ".
The 2nd last line from above, (Animal(f (x))Loves(g(x), x))(Loves(x, f (x))Loves(g(x), x)) , is the CNF.
4.6 Notes
[1] Tseitin (1968)
[3] since one way to check a CNF for satisability is to convert it into a DNF, the satisability of which can be checked in
linear time
QuineMcCluskey algorithm
4.8 References
Paul Jackson, Daniel Sheridan: Clause Form Conversions for Boolean Circuits. In: Holger H. Hoos, David G.
Mitchell (Eds.): Theory and Applications of Satisability Testing, 7th International Conference, SAT 2004,
Vancouver, BC, Canada, May 1013, 2004, Revised Selected Papers. Lecture Notes in Computer Science
3542, Springer 2005, pp. 183198
G.S. Tseitin: On the complexity of derivation in propositional calculus. In: Slisenko, A.O. (ed.) Structures in
Constructive Mathematics and Mathematical Logic, Part II, Seminars in Mathematics (translated from Rus-
sian), pp. 115125. Steklov Mathematical Institute (1968)
Java applet for converting to CNF and DNF, showing laws used
Mayuresh S. Pardeshi, Dr. Bashirahamed F. Momin Conversion of cnf to dnf using grid computing IEEE,
ISBN 978-1-4673-2816-6
Mayuresh S. Pardeshi, Dr. Bashirahamed F. Momin Conversion of cnf to dnf using grid computing in parallel
IEEE, ISBN 978-1-4799-4041-7
Chapter 5
In boolean logic, a disjunctive normal form (DNF) is a standardization (or normalization) of a logical formula
which is a disjunction of conjunctive clauses; it can also be described as an OR of ANDs, a sum of products, or (in
philosophical logic) a cluster concept. As a normal form, it is useful in automated theorem proving.
5.1 Denition
A logical formula is considered to be in DNF if and only if it is a disjunction of one or more conjunctions of one or
more literals.[1]:153 A DNF formula is in full disjunctive normal form if each of its variables appears exactly once
in every clause. As in conjunctive normal form (CNF), the only propositional operators in DNF are and, or, and not.
The not operator can only be used as part of a literal, which means that it can only precede a propositional variable.
The following is a formal grammar for DNF:
2. disjunction conjunction
4. conjunction literal
5. literal variable
6. literal variable
(A B C) (D E F )
(A B) C
AB
13
14 CHAPTER 5. DISJUNCTIVE NORMAL FORM
AB
CD 00 01 11 10
10 1 1
11 1 1
01 1 1
00 1 1
Karnaugh map of the disjunctive normal form (ABD) (ABC) (ABD) (ABC)
Converting a formula to DNF involves using logical equivalences, such as the double negative elimination, De Mor-
gans laws, and the distributive law.
All logical formulas can be converted into an equivalent disjunctive normal form.[1]:152-153 However, in some cases
conversion to DNF can lead to an exponential explosion of the formula. For example, the DNF of a logical formula
of the following form has 2n terms:
Any particular Boolean function can be represented by one and only one[note 1] full disjunctive normal form, one of
the canonical forms. In contrast, two dierent plain disjunctive normal forms may denote the same Boolean function,
see pictures.
5.3. COMPLEXITY ISSUES 15
AB
CD 00 01 11 10
10 1 1
11 1 1
01 1 1
00 1 1
Karnaugh map of the disjunctive normal form (ACD) (BCD) (ACD) (BCD). Despite the dierent
grouping, the same elds contain a 1 as in the previous map.
Boolean function
Boolean-valued function
Horn clause
16 CHAPTER 5. DISJUNCTIVE NORMAL FORM
Karnaugh map
Logical graph
Propositional logic
QuineMcCluskey algorithm
Truth table
5.5 Notes
[1] Ignoring variations based on associativity and commutativity of AND and OR.
5.6 References
[1] B.A. Davey and H.A. Priestley (1990). Introduction to Lattices and Order. Cambridge Mathematical Textbooks. Cambridge
University Press.
In the lambda calculus, a term is in beta normal form if no beta reduction is possible.[1] A term is in beta-eta
normal form if neither a beta reduction nor an eta reduction is possible. A term is in head normal form if there is
no beta-redex in head position.
(x.A)M
A beta reduction is an application of the following rewrite rule to a beta redex contained in a term t :
(x.A)M A[x := M ]
where A[x := M ] is the result of substituting the term M for the variable x in the term A .
A head beta reduction is a beta reduction applied in head position, that is, of the following form:
A head normal form is not always a normal form, because the applied arguments Mj need not be normal. However,
the converse is true: any normal form is also a head normal form. In fact, the normal forms are exactly the head
normal forms in which the subterms Mj are themselves normal forms. This gives an inductive syntactic description
of normal forms.
17
18 CHAPTER 6. HEAD NORMAL FORM
Normal-order reduction is the strategy in which one continually applies the rule for beta reduction in head
position until no more such reductions are possible. At that point, the resulting term is in head normal form. One
then continues applying head reduction in the subterms Mj , from left to right. Stated otherwise, normalorder
reduction is the strategy that always reduces the leftmost outermost redex rst.
By contrast, in applicative order reduction, one applies the internal reductions rst, and then only applies the
head reduction when no more internal reductions are possible.
Normal-order reduction is complete, in the sense that if a term has a head normal form, then normalorder reduction
will eventually reach it. By the syntactic description of normal forms above, this entails the same statement for a
fully normal form (this is the standardization theorem). By contrast, applicative order reduction may not terminate,
even when the term has a normal form. For example, using applicative order reduction, the following sequence of
reductions is possible:
(x.z)((w.www)(w.www))
(x.z)((w.www)(w.www)(w.www))
(x.z)((w.www)(w.www)(w.www)(w.www))
(x.z)((w.www)(w.www)(w.www)(w.www)(w.www))
...
But using normal-order reduction, the same starting point reduces quickly to normal form:
(x.z)((w.www)(w.www))
z
Sinots director strings is one method by which the computational complexity of beta reduction can be optimized.
6.4 References
[1] Beta normal form. Encyclopedia. TheFreeDictionary.com. Retrieved 18 November 2013.
Chapter 7
Herbrandization
The Herbrandization of a logical formula (named after Jacques Herbrand) is a construction that is dual to the
Skolemization of a formula. Thoralf Skolem had considered the Skolemizations of formulas in prenex form as part
of his proof of the LwenheimSkolem theorem (Skolem 1920). Herbrand worked with this dual notion of Her-
brandization, generalized to apply to non-prenex formulas as well, in order to prove Herbrands theorem (Herbrand
1930).
The resulting formula is not necessarily equivalent to the original one. As with Skolemization which only preserves
satisability, Herbrandization being Skolemizations dual preserves validity: the resulting formula is valid if and only
if the original one is.
For instance, consider the formula F := yx[R(y, x) zS(x, z)] . There are no free variables to replace. The
variables y, z are the kind we consider for the second step, so we delete the quantiers y and z . Finally, we then
replace y with a constant cy (since there were no other quantiers governing y ), and we replace z with a function
symbol fz (x) :
The Skolemization of a formula is obtained similarly, except that in the second step above, we would delete quantiers
on variables that are either (1) existentially quantied and within an even number of negations, or (2) universally
quantied and within an odd number of negations. Thus, considering the same F from above, its Skolemization
would be:
To understand the signicance of these constructions, see Herbrands theorem or the LwenheimSkolem theorem.
19
20 CHAPTER 7. HERBRANDIZATION
7.3 References
Skolem, T. Logico-combinatorial investigations in the satisability or provability of mathematical proposi-
tions: A simplied proof of a theorem by L. Lwenheim and generalizations of the theorem. (In van Hei-
jenoort 1967, 252-63.)
Herbrand, J. Investigations in proof theory: The properties of true propositions. (In van Heijenoort 1967,
525-81.)
van Heijenoort, J. From Frege to Gdel: A Source Book in Mathematical Logic, 1879-1931. Harvard University
Press, 1967.
Chapter 8
Herbrandization
The Herbrandization of a logical formula (named after Jacques Herbrand) is a construction that is dual to the
Skolemization of a formula. Thoralf Skolem had considered the Skolemizations of formulas in prenex form as part
of his proof of the LwenheimSkolem theorem (Skolem 1920). Herbrand worked with this dual notion of Her-
brandization, generalized to apply to non-prenex formulas as well, in order to prove Herbrands theorem (Herbrand
1930).
The resulting formula is not necessarily equivalent to the original one. As with Skolemization which only preserves
satisability, Herbrandization being Skolemizations dual preserves validity: the resulting formula is valid if and only
if the original one is.
For instance, consider the formula F := yx[R(y, x) zS(x, z)] . There are no free variables to replace. The
variables y, z are the kind we consider for the second step, so we delete the quantiers y and z . Finally, we then
replace y with a constant cy (since there were no other quantiers governing y ), and we replace z with a function
symbol fz (x) :
The Skolemization of a formula is obtained similarly, except that in the second step above, we would delete quantiers
on variables that are either (1) existentially quantied and within an even number of negations, or (2) universally
quantied and within an odd number of negations. Thus, considering the same F from above, its Skolemization
would be:
To understand the signicance of these constructions, see Herbrands theorem or the LwenheimSkolem theorem.
21
22 CHAPTER 8. HERBRANDIZATION
8.3 References
Skolem, T. Logico-combinatorial investigations in the satisability or provability of mathematical proposi-
tions: A simplied proof of a theorem by L. Lwenheim and generalizations of the theorem. (In van Hei-
jenoort 1967, 252-63.)
Herbrand, J. Investigations in proof theory: The properties of true propositions. (In van Heijenoort 1967,
525-81.)
van Heijenoort, J. From Frege to Gdel: A Source Book in Mathematical Logic, 1879-1931. Harvard University
Press, 1967.
Chapter 9
Horn clause
In mathematical logic and logic programming, a Horn clause is a logical formula of a particular rule-like form which
gives it useful properties for use in logic programming, formal specication, and model theory. Horn clauses are
named for the logician Alfred Horn, who rst pointed out their signicance in 1951.[1]
9.1 Denition
A Horn clause is a clause (a disjunction of literals) with at most one positive, i.e. unnegated, literal.
Conversely, a disjunction of literals with at most one negated literal is called a dual-Horn clause.
A Horn clause with exactly one positive literal is a denite clause; a denite clause with no negative literals is
sometimes called a fact; and a Horn clause without a positive literal is sometimes called a goal clause (note that
the empty clause consisting of no literals is a goal clause). These three kinds of Horn clauses are illustrated in the
following propositional example:
In the non-propositional case, all variables[note 2] in a clause are implicitly universally quantied with scope the entire
clause. Thus, for example:
human(X) mortal(X)
stands for:
X( human(X) mortal(X) )
X ( human(X) mortal(X) )
9.1.1 Signicance
Horn clauses play a basic role in constructive logic and computational logic. They are important in automated theorem
proving by rst-order resolution, because the resolvent of two Horn clauses is itself a Horn clause, and the resolvent
of a goal clause and a denite clause is a goal clause. These properties of Horn clauses can lead to greater eciencies
in proving a theorem (represented as the negation of a goal clause).
Propositional Horn clauses are also of interest in computational complexity. The problem of nding truth value
assignments to make a conjunction of propositional Horn clauses true is a P-complete problem, solvable in linear
time,[2] and sometimes called HORNSAT. (The unrestricted Boolean satisability problem is an NP-complete prob-
lem however.) Satisability of rst-order Horn clauses is undecidable.
23
24 CHAPTER 9. HORN CLAUSE
(p q ... t) u
In fact, the resolution of a goal clause with a denite clause to produce a new goal clause is the basis of the SLD
resolution inference rule, used to implement logic programming in the programming language Prolog.
In logic programming a denite clause behaves as a goal-reduction procedure. For example, the Horn clause written
above behaves as the procedure:
To emphasize this reverse use of the clause, it is often written in the reverse form:
u (p q ... t)
X (p q ... t)
is represented by negating the problem (denying that it has a solution), and representing it in the logically equivalent
form of a goal clause:
X (false p q ... t)
9.3 Notes
[1] Like in resolution theorem proving, intuitive meanings show " and assume " are synonymous (indirect proof); they
both correspond to the same formula, viz. . This way, a mechanical proving tool needs to maintain only one set of
formulas (assumptions), rather than two sets (assumptions and (sub)goals).
[2] Formula constituent names dier between propositional and rst-order logic: an atomic formula is just a propositional
variable in the former logic, while it is composed of a predicate symbol and appropriately many terms, each of which may
contain domain variables, in the latter logic. Domain variables are meant here.
9.4. REFERENCES 25
9.4 References
[1] Horn, Alfred (1951). On sentences which are true of direct unions of algebras. Journal of Symbolic Logic. 16 (1): 1421.
doi:10.2307/2268661.
[2] Dowling, William F.; Gallier, Jean H. (1984). Linear-time algorithms for testing the satisability of propositional Horn
formulae. Journal of Logic Programming. 1 (3): 267284. doi:10.1016/0743-1066(84)90014-1.
[3] van Emden, M. H.; Kowalski, R. A. (1976). The semantics of predicate logic as a programming language (PDF). Journal
of the ACM. 23 (4): 733742. doi:10.1145/321978.321991.
Chapter 10
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, a (b c) and (a b) (a c) 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 denitions, using De Morgans laws to push negation inwards, and eliminating double negations.
This process can be represented using the following rewrite rules (Handbook of Automated Reasoning 1, p. 204):
A B A B
(A B) A B
(A B) A B
A A
xA xA
xA xA
[In these rules, the symbol indicates logical implication in the formula being rewritten, and is the rewriting
operation.]
A formula in negation normal form can be put into the stronger conjunctive normal form or disjunctive normal form
by applying distributivity.
(A B) C
(A (B C) C) D
A B
A B
The rst 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:
26
10.2. REFERENCES 27
AB
(A B)
(A B)
(A C)
They are however respectively equivalent to the following formulae in negation normal form:
A B
A B
A B
A C
10.2 References
Alan J.A. Robinson and Andrei Voronkov, Handbook of Automated Reasoning 1:203 (2001) ISBN 0444829490.
A formula of the predicate calculus is in prenex[1] normal form if it is written as a string of quantiers (referred to
as the prex) followed by a quantier-free part (referred to as the matrix).
Every formula in classical logic is equivalent to a formula in prenex normal form. For example, if (y) , (z) , and
(x) are quantier-free formulas with the free variables shown then
(x) is equivalent to x( ) ,
(x) is equivalent to x( ) ;
and
(x) is equivalent to x( ) ,
(x) is equivalent to x( ) .
The equivalences are valid when x does not appear as a free variable of ; if x does appear free in , one can
rename the bound x in (x) and obtain the equivalent (x [x/x ]) .
For example, in the language of rings,
28
11.1. CONVERSION TO PRENEX FORM 29
but
because the formula on the left is true in any ring when the free variable x is equal to 0, while the formula on the
right has no free variables and is false in any nontrivial ring. So (x(x2 = 1)) (0 = x) will be rst rewritten as
(x (x2 = 1)) (0 = x) and then put in prenex normal form x (x2 = 1 0 = x) .
11.1.2 Negation
The rules for negation say that
x is equivalent to x
and
x is equivalent to x .
11.1.3 Implication
There are four rules for implication: two that remove quantiers from the antecedent and two that remove quantiers
from the consequent. These rules can be derived by rewriting the implication as and applying the
rules for disjunction above. As with the rules for disjunction, these rules require that the variable quantied in one
subformula does not appear free in the other subformula.
The rules for removing quantiers from the antecedent are:
(x) is equivalent to x( ) ,
(x) is equivalent to x( ) .
(x) is equivalent to x( ) ,
(x) is equivalent to x( ) .
11.1.4 Example
Suppose that , , and are quantier-free formulas and no two of these formulas share any free variable. Consider
the formula
( x) z
By recursively applying the rules starting at the innermost subformulas, the following sequence of logically equivalent
formulas can be obtained:
( x) z
(x( )) z
(x( )) z
(x( )) z
x(( ) z)
30 CHAPTER 11. PRENEX NORMAL FORM
x(( ) z)
x(z(( ) ))
xz(( ) )
This is not the only prenex form equivalent to the original formula. For example, by dealing with the consequent
before the antecedent in the example above, the prenex form
zx(( ) )
can be obtained:
z(( x) )
z((x( )) )
z(x(( ) ))
zx(( ) )
The rules for converting a formula to prenex form make heavy use of classical logic. In intuitionistic logic, it is not
true that every formula is logically equivalent to a prenex formula. The negation connective is one obstacle, but not the
only one. The implication operator is also treated dierently in intuitionistic logic than classical logic; in intuitionistic
logic, it is not denable using disjunction and negation.
The BHK interpretation illustrates why some formulas have no intuitionistically-equivalent prenex form. In this
interpretation, a proof of
(x) y (1)
is a function which, given a concrete x and a proof of (x) , produces a concrete y and a proof of (y). In this case
it is allowable for the value of y to be computed from the given value of x. A proof of
y(x ), (2)
on the other hand, produces a single concrete value of y and a function that converts any proof of x into a proof
of (y). If each x satisfying can be used to construct a y satisfying but no such y can be constructed without
knowledge of such an x then formula (1) will not be equivalent to formula (2).
The rules for converting a formula to prenex form that do fail in intuitionistic logic are:
(x does not appear as a free variable of in (1) and (3); x does not appear as a free variable of in (2) and (4)).
11.2. USE OF PRENEX FORM 31
Skolemization
Arithmetical hierarchy
11.4 Notes
[1] The term 'prenex' comes from the Latin praenexus tied or bound up in front, past participle of praenectere (archived as
of May 27, 2011 at )
11.5 References
Hinman, P. (2005), Fundamentals of Mathematical Logic, A K Peters, ISBN 978-1-56881-262-5
Chapter 12
In mathematical logic, reduction to Skolem normal form (SNF) is a method for removing existential quantiers
from formal logic statements, often performed as the rst step in an automated theorem prover.
A formula of rst-order logic is in Skolem normal form (named after Thoralf Skolem) if it is in prenex normal form
with only universal rst-order quantiers. Every rst-order formula may be converted into Skolem normal form while
not changing its satisability via a process called Skolemization (sometimes spelled Skolemnization). The resulting
formula is not necessarily equivalent to the original one, but is equisatisable with it: it is satisable if and only if the
original one is satisable.[1]
The simplest form of Skolemization is for existentially quantied variables which are not inside the scope of a universal
quantier. These may be replaced simply by creating new constants. For example, xP (x) may be changed to P (c)
, where c is a new constant (does not occur anywhere else in the formula).
More generally, Skolemization is performed by replacing every existentially quantied variable y with a term f (x1 , . . . , xn )
whose function symbol f is new. The variables of this term are as follows. If the formula is in prenex normal form,
x1 , . . . , xn are the variables that are universally quantied and whose quantiers precede that of y . In general, they
are the variables that are quantied universally and such that y occurs in the scope of their quantiers. The function
f introduced in this process is called a Skolem function (or Skolem constant if it is of zero arity) and the term is
called a Skolem term.
As an example, the formula xyz.P (x, y, z) is not in Skolem normal form because it contains the existential
quantier y . Skolemization replaces y with f (x) , where f is a new function symbol, and removes the quantication
over y . The resulting formula is xz.P (x, f (x), z) . The Skolem term f (x) contains x , but not z , because the
quantier to be removed y is in the scope of x , but not in that of z ; since this formula is in prenex normal form,
this is equivalent to saying that, in the list of quantiers, x precedes y while z does not. The formula obtained by this
transformation is satisable if and only if the original formula is.
( ) ( )
x R(g(x)) yR(x, y) f x R(g(x)) R(x, f (x))
where
Intuitively, the sentence for every x there exists a y such that R(x, y) " is converted into the equivalent form there
exists a function f mapping every x into a y such that, for every x it holds R(x, f (x)) ".
This equivalence is useful because the denition of rst-order satisability implicitly existentially quanties over the
evaluation of function symbols. In particular, a rst-order formula is satisable if there exists a model M and an
32
12.2. USES OF SKOLEMIZATION 33
evaluation of the free variables of the formula that evaluate the formula to true. The model contains the evaluation
of all function symbols; therefore, Skolem functions are implicitly existentially quantied. In the example above,
x.R(x, f (x)) is satisable if and only if there exists a model M , which contains an evaluation for f , such that
x.R(x, f (x)) is true for some evaluation of its free variables (none in this case). This may be expressed in second
order as f x.R(x, f (x)) . By the above equivalence, this is the same as the satisability of xy.R(x, y) .
At the meta-level, rst-order satisability of a formula may be written with a little abuse of notation as M . (M, |=
) , where M is a model, is an evaluation of the free variables, and |= means that is true in M under . Since
rst-order models contain the evaluation of all function symbols, any Skolem function contains is implicitly ex-
istentially quantied by M . As a result, after replacing an existential quantier over variables into an existential
quantiers over functions at the front of the formula, the formula still may be treated as a rst-order one by remov-
ing these existential quantiers. This nal step of treating f x.R(x, f (x)) as x.R(x, f (x)) may be completed
because functions are implicitly existentially quantied by M in the denition of rst-order satisability.
Correctness of Skolemization may be shown on the example formula F1 = x1 . . . xn yR(x1 , . . . , xn , y) as
follows. This formula is satised by a model M if and only if, for each possible value for x1 , . . . , xn in the do-
main of the model, there exists a value for y in the domain of the model that makes R(x1 , . . . , xn , y) true. By
the axiom of choice, there exists a function f such that y = f (x1 , . . . , xn ) . As a result, the formula F2 =
x1 . . . xn R(x1 , . . . , xn , f (x1 , . . . , xn )) is satisable, because it has the model obtained by adding the evalua-
tion of f to M . This shows that F1 is satisable only if F2 is satisable as well. In the other way around, if F2 is
satisable, then there exists a model M that satises it; this model includes an evaluation for the function f such
that, for every value of x1 , . . . , xn , the formula R(x1 , . . . , xn , f (x1 , . . . , xn )) holds. As a result, F1 is satised by
the same model because one may choose, for every value of x1 , . . . , xn , the value y = f (x1 , . . . , xn ) , where f is
evaluated according to M .
12.5 Notes
[1] Normal Forms and Skolemization (PDF). max planck institut informatik. Retrieved 15 December 2012.
[3] Sets, Models and Proofs (3.3) by I. Moerdijk and J. van Oosten
12.6 References
Hodges, Wilfrid (1997), A shorter model theory, Cambridge University Press, ISBN 978-0-521-58713-6
Skolemization on PlanetMath.org
Skolemization by Hector Zenil, The Wolfram Demonstrations Project.
12.8.2 Images
File:CardContin.svg Source: https://upload.wikimedia.org/wikipedia/commons/7/75/CardContin.svg License: Public domain Contrib-
utors: en:Image:CardContin.png Original artist: en:User:Trovatore, recreated by User:Stannered
36 CHAPTER 12. SKOLEM NORMAL FORM