0% found this document useful (0 votes)
393 views36 pages

Normal Forms (Logic) PDF

The document discusses different normal forms for representing logical formulas, including: 1. Algebraic normal form (ANF) which represents formulas as sums of ANDed variables XORed together. ANF makes equivalence checking and identifying linear/nonlinear functions easy. 2. Head normal form which represents lambda calculus terms without beta reductions in the head position. Normal order reduction produces head normal forms. 3. Blake canonical form which represents Boolean functions as the disjunction of all prime implicants, a type of disjunctive normal form. It contains all terms of a minimal representation.

Uploaded by

mars
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
393 views36 pages

Normal Forms (Logic) PDF

The document discusses different normal forms for representing logical formulas, including: 1. Algebraic normal form (ANF) which represents formulas as sums of ANDed variables XORed together. ANF makes equivalence checking and identifying linear/nonlinear functions easy. 2. Head normal form which represents lambda calculus terms without beta reductions in the head position. Normal order reduction produces head normal forms. 3. Blake canonical form which represents Boolean functions as the disjunction of all prime implicants, a type of disjunctive normal form. It contains all terms of a minimal representation.

Uploaded by

mars
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

Normal forms (logic)

en.wikipedia.org
Chapter 1

Algebraic normal form

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:

The entire formula is purely true or false:


1
0
One or more variables are ANDed together into a term. One or more terms are XORed together into ANF.
No NOTs are permitted:
a b ab abc

or in standard propositional logic symbols:

a b (a b) (a b c)

The previous subform with a purely true term:


1 a b ab abc

Formulas written in ANF are also known as Zhegalkin polynomials (Russian: ) and Positive
Polarity (or Parity) ReedMuller expressions.

1.1 Common uses


ANF is a normal form, which means that two equivalent formulas will convert to the same ANF, easily showing
whether two formulas are equivalent for automated theorem proving. Unlike other normal forms, it can be represented
as a simple list of lists of variable names. Conjunctive and disjunctive normal forms also require recording whether
each variable is negated or not. Negation normal form is unsuitable for that purpose, since it doesn't use equality as
its equivalence relation: a a isn't reduced to the same thing as 1, even though they're equal.
Putting a formula into ANF also makes it easy to identify linear functions (used, for example, in linear feedback shift
registers): a linear function is one that is a sum of single literals. Properties of nonlinear feedback shift registers can
also be deduced from certain properties of the feedback function in ANF.

1.2 Performing operations within algebraic normal form


There are straightforward ways to perform the standard boolean operations on ANF inputs in order to get ANF results.
XOR (logical exclusive disjunction) is performed directly:

2
1.3. CONVERTING TO ALGEBRAIC NORMAL FORM 3

(1 x) (1 x y)
1x1xy
11xxy
y

NOT (logical negation) is XORing 1:[1]

(1 x y)
1 (1 x y)
11xy
xy

AND (logical conjunction) is distributed algebraically[2]

(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

1.3 Converting to algebraic normal form


Each variable in a formula is already in pure ANF, so you only need to perform the formulas boolean operations as
shown above to get the entire formula into ANF. For example:

x + (y z)
x + (y(1 z))
x + (y yz)
x (y yz) x(y yz)
x y xy yz xyz

1.4 Formal representation


ANF is sometimes described in an equivalent way:

where a0 , a1 , . . . , a1,2,...,n {0, 1} fully describes f .


4 CHAPTER 1. ALGEBRAIC NORMAL FORM

1.4.1 Recursively deriving multiargument Boolean functions

There are only four functions with one argument:

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:

f (x1 , x2 , . . . , xn ) = g(x2 , . . . , xn ) x1 h(x2 , . . . , xn ) , where

g(x2 , . . . , xn ) = f (0, x2 , . . . , xn )
h(x2 , . . . , xn ) = f (0, x2 , . . . , xn ) f (1, x2 , . . . , xn )

Indeed,

if x1 = 0 then x1 h = 0 and so f (0, . . .) = f (0, . . .)

if x1 = 1 then x1 h = h and so f (1, . . .) = f (0, . . .) f (0, . . .) f (1, . . .)

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):

f (x, y) = f (0, y) x(f (0, y) f (1, y))

since f (0, y) = 0 y = y and f (1, y) = 1 y = 1

it follows that f (x, y) = y x(y 1)

by distribution, we get the nal ANF: f (x, y) = y xy x = x y xy

1.5 See also


ReedMuller expansion

Zhegalkin normal form

Boolean function

Logical graph

Zhegalkin polynomial

Negation normal form

Conjunctive normal form

Disjunctive normal form

Karnaugh map

Boolean ring
1.6. REFERENCES 5

1.6 References
[1] WolframAlpha NOT-equivalence demonstration: a = 1 a

[2] WolframAlpha AND-equivalence demonstration: (a b)(c d) = ac ad bc bd

[3] From De Morgans laws

[4] WolframAlpha OR-equivalence demonstration: a + b = a b ab

1.7 Further reading


Wegener, Ingo (1987). The complexity of Boolean functions. Wiley-Teubner. p. 6. ISBN 3-519-02107-2.

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

Head normal form

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.

2.1 Beta reduction


In the lambda calculus, a beta redex is a term of the form

(x.A)M

A redex r is in head position in a term t , if t t has the following shape:

x1 . . . xn . (x.A)M1 M2 . . . Mm , where n 0 and m 1 .


| {z }
redex ther

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:

x1 . . . xn .(x.A)M1 M2 . . . Mm x1 . . . xn .A[x := M1 ]M2 . . . Mm , where n 0 and


m1.

Any other reduction is an internal beta reduction.


A normal form is a term that does not contain any beta redex, i.e. that cannot be further reduced. More generally, a
head normal form is a term that does not contain a beta redex in head position, i.e. that cannot be further reduced
by a head reduction. Head normal forms are the terms of the following shape:

x1 . . . xn .xM1 M2 . . . Mm , where x is a variable (if considering the simple lambda calculus), n 0


and m 0 .

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

2.2 Reduction strategies


In general, a given term can contain several redexes, hence several dierent beta reductions could be applied. We
may specify a strategy to choose which redex to reduce.

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.3 See also


Lambda calculus

Normal form (disambiguation)

2.4 References
[1] Beta normal form. Encyclopedia. TheFreeDictionary.com. Retrieved 18 November 2013.
Chapter 3

Blake canonical form

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.1 See also


Horn clause
Consensus theorem

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.

[3] Kandel, Abraham. Foundations of Digital Logic Design. p. 177.

[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

Conjunctive normal form

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.

4.1 Examples and non-examples


All of the following formulas in the variables A, B, C, D, and E are in conjunctive normal form:

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

4.2 Conversion into CNF


Every propositional formula can be converted into an equivalent formula that is in CNF. This transformation is based
on rules about logical equivalences: the double negative law, De Morgans laws, and the distributive law.
Since all logical formulae can be converted into an equivalent formula in conjunctive normal form, proofs are often
based on the assumption that all formulae are CNF. However, in some cases this conversion to CNF can lead to an
exponential explosion of the formula. For example, translating the following non-CNF formula into CNF produces a
formula with 2n clauses:

(X1 Y1 ) (X2 Y2 ) (Xn Yn ).

In particular, the generated formula is:

(X1 X2 Xn )(Y1 X2 Xn )(X1 Y2 Xn )(Y1 Y2 Xn ) (Y1 Y2 Yn ).

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:

(Z1 Zn ) (Z1 X1 ) (Z1 Y1 ) (Zn Xn ) (Zn Yn ).

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 .

4.3 First-order logic


In rst order logic, conjunctive normal form can be taken further to yield the clausal normal form of a logical formula,
which can be then used to perform rst-order resolution. In resolution-based automated theorem-proving, a CNF
formula
See below for an example.

4.4 Computational complexity


An important set of problems in computational complexity involves nding assignments to the variables of a boolean
formula expressed in Conjunctive Normal Form, such that the formula is true. The k-SAT problem is the problem of
nding a satisfying assignment to a boolean formula expressed in CNF in which each disjunction contains at most k
variables. 3-SAT is NP-complete (like any other k-SAT problem with k>2) while 2-SAT is known to have solutions
in polynomial time. As a consequence,[3] the task of converting a formula into a DNF, preserving satisability, is
NP-hard; dually, converting into CNF, preserving validity, is also NP-hard; hence equivalence-preserving conversion
into DNF or CNF is again NP-hard.
Typical problems in this case involve formulas in 3CNF": conjunctive normal form with no more than three variables
per conjunct. Examples of such formulas encountered in practice can be very large, for example with 100,000
variables and 1,000,000 conjuncts.
4.5. CONVERTING FROM FIRST-ORDER LOGIC 11

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.

4.5 Converting from rst-order logic


To convert rst-order logic to CNF:[4]

1. Convert to negation normal form.

(a) Eliminate implications and equivalences: repeatedly replace P Q with P Q ; replace P Q


with (P Q) (P Q) . Eventually, this will eliminate all occurrences of and .
(b) Move NOTs inwards by repeatedly applying De Morgans Law. Specically, replace (P Q) with
(P ) (Q) ; replace (P Q) with (P ) (Q) ; and replace P with P ; replace (xP (x))
with xP (x) ; (xP (x)) with xP (x) . After that, a may occur only immediately before a
predicate symbol.

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)] .

3. Skolemize the statement

(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.

4. Drop all universal quantiers.

5. Distribute ORs inwards over ANDs: repeatedly replace P (Q R) with (P Q) (P R) .

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)

[2] Jackson and Sheridan (2004)

[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

[4] Articial Intelligence: A modern Approach [1995...] Russell and Norvig


12 CHAPTER 4. CONJUNCTIVE NORMAL FORM

4.7 See also


Algebraic normal form

Disjunctive normal form


Horn clause

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)

4.9 External links


Hazewinkel, Michiel, ed. (2001) [1994], Conjunctive normal form, Encyclopedia of Mathematics, Springer
Science+Business Media B.V. / Kluwer Academic Publishers, ISBN 978-1-55608-010-4

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

Disjunctive normal form

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:

1. disjunction (conjunction disjunction)

2. disjunction conjunction

3. conjunction (literal conjunction)

4. conjunction literal

5. literal variable

6. literal variable

Where variable is any variable.


For example, all of the following formulae are in DNF:

(A B C) (D E F )

(A B) C

AB

However, the following formulae are not in DNF:

(A B) , since an OR is nested within a NOT

A (B (C D)) , since an OR is nested within an AND

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)

5.2 Conversion to DNF

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:

(X1 Y1 ) (X2 Y2 ) (Xn Yn )

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.

5.3 Complexity issues


An important variation used in the study of computational complexity is k-DNF. A formula is in k-DNF if it is in
DNF and each clause contains at most k literals. Dually to CNFs, the problem of deciding whether a given DNF is
true for every variable assignment is NP-complete, the same holds if only k-DNFs are considered.

5.4 See also


Algebraic normal form

Boolean function

Boolean-valued function

Conjunctive normal form

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.

5.7 External links


Hazewinkel, Michiel, ed. (2001) [1994], Disjunctive normal form, Encyclopedia of Mathematics, Springer
Science+Business Media B.V. / Kluwer Academic Publishers, ISBN 978-1-55608-010-4
Chapter 6

Head normal form

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.

6.1 Beta reduction


In the lambda calculus, a beta redex is a term of the form

(x.A)M

A redex r is in head position in a term t , if t t has the following shape:

x1 . . . xn . (x.A)M1 M2 . . . Mm , where n 0 and m 1 .


| {z }
redex ther

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:

x1 . . . xn .(x.A)M1 M2 . . . Mm x1 . . . xn .A[x := M1 ]M2 . . . Mm , where n 0 and


m1.

Any other reduction is an internal beta reduction.


A normal form is a term that does not contain any beta redex, i.e. that cannot be further reduced. More generally, a
head normal form is a term that does not contain a beta redex in head position, i.e. that cannot be further reduced
by a head reduction. Head normal forms are the terms of the following shape:

x1 . . . xn .xM1 M2 . . . Mm , where x is a variable (if considering the simple lambda calculus), n 0


and m 0 .

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

6.2 Reduction strategies


In general, a given term can contain several redexes, hence several dierent beta reductions could be applied. We
may specify a strategy to choose which redex to reduce.

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.3 See also


Lambda calculus

Normal form (disambiguation)

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.

7.1 Denition and examples


Let F be a formula in the language of rst-order logic. We may assume that F contains no variable that is bound by
two dierent quantier occurrences, and that no variable occurs both bound and free. (That is, F could be relettered
to ensure these conditions, in such a way that the result is an equivalent formula).
The Herbrandization of F is then obtained as follows:

First, replace any free variables in F by constant symbols.


Second, delete all quantiers on variables that are either (1) universally quantied and within an even number
of negation signs, or (2) existentially quantied and within an odd number of negation signs.
Finally, replace each such variable v with a function symbol fv (x1 , . . . , xk ) , where x1 , . . . , xk are the variables
that are still quantied, and whose quantiers govern v .

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) :

F H = x[R(cy , x) S(x, 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:

F S = y[R(y, fx (y)) zS(fx (y), z)].

To understand the signicance of these constructions, see Herbrands theorem or the LwenheimSkolem theorem.

19
20 CHAPTER 7. HERBRANDIZATION

7.2 See also


Predicate functor logic

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.

8.1 Denition and examples


Let F be a formula in the language of rst-order logic. We may assume that F contains no variable that is bound by
two dierent quantier occurrences, and that no variable occurs both bound and free. (That is, F could be relettered
to ensure these conditions, in such a way that the result is an equivalent formula).
The Herbrandization of F is then obtained as follows:

First, replace any free variables in F by constant symbols.


Second, delete all quantiers on variables that are either (1) universally quantied and within an even number
of negation signs, or (2) existentially quantied and within an odd number of negation signs.
Finally, replace each such variable v with a function symbol fv (x1 , . . . , xk ) , where x1 , . . . , xk are the variables
that are still quantied, and whose quantiers govern v .

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) :

F H = x[R(cy , x) S(x, 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:

F S = y[R(y, fx (y)) zS(fx (y), z)].

To understand the signicance of these constructions, see Herbrands theorem or the LwenheimSkolem theorem.

21
22 CHAPTER 8. HERBRANDIZATION

8.2 See also


Predicate functor logic

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) )

which is logically equivalent to:

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

9.2 Logic programming


Horn clauses are also the basis of logic programming, where it is common to write denite clauses in the form of an
implication:

(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 show u, show p and show q and ... and show t.

To emphasize this reverse use of the clause, it is often written in the reverse form:

u (p q ... t)

In Prolog this is written as:


u :- p, q, ..., t.
In logic programming and datalog, computation and query evaluation are performed by representing the negation of
a problem to be solved as a goal clause. For example, the problem of solving the existentially quantied conjunction
of positive literals:

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)

In Prolog this is written as:


:- p, q, ..., t.
Solving the problem amounts to deriving a contradiction, which is represented by the empty clause (or false). The
solution of the problem is a substitution of terms for the variables in the goal clause, which can be extracted from the
proof of contradiction. Used in this way, goal clauses are similar to conjunctive queries in relational databases, and
Horn clause logic is equivalent in computational power to a universal Turing machine.
The Prolog notation is actually ambiguous, and the term goal clause is sometimes also used ambiguously. The
variables in a goal clause can be read as universally or existentially quantied, and deriving false can be interpreted
either as deriving a contradiction or as deriving a successful solution of the problem to be solved.
Van Emden and Kowalski (1976) investigated the model theoretic properties of Horn clauses in the context of logic
programming, showing that every set of denite clauses D has a unique minimal model M. An atomic formula A
is logically implied by D if and only if A is true in M. It follows that a problem P represented by an existentially
quantied conjunction of positive literals is logically implied by D if and only if P is true in M. The minimal model
semantics of Horn clauses is the basis for the stable model semantics of logic programs.[3]

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

Negation normal form

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.

10.1 Examples and counterexamples


The following formulae are all in negation normal form:

(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.

10.3 External links


Java applet for converting logical formula to Negation Normal Form, showing laws used
Chapter 11

Prenex normal form

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

xyz((y) ((z) (x)))

is in prenex normal form with matrix (y) ((z) (x)) , while

x((y(y)) ((z(z)) (x)))

is logically equivalent but not in prenex normal form.

11.1 Conversion to prenex form


Every rst-order formula is logically equivalent (in classical logic) to some formula in prenex normal form. There
are several conversion rules that can be recursively applied to convert a formula to prenex normal form. The rules
depend on which logical connectives appear in the formula.

11.1.1 Conjunction and disjunction


The rules for conjunction and disjunction say that

(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,

(x(x2 = 1)) (0 = y) is equivalent to x(x2 = 1 0 = y) ,

28
11.1. CONVERSION TO PRENEX FORM 29

but

(x(x2 = 1)) (0 = x) is not equivalent to x(x2 = 1 0 = x)

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( ) .

The rules for removing quantiers from the consequent are:

(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(( ) )

11.1.5 Intuitionistic logic

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:

(1) x( ) implies (x) ,


(2) x( ) implies (x) ,
(3) (x) implies x( ) ,
(4) (x) implies x( ) ,
(5) x implies x ,

(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

11.2 Use of prenex form


Some proof calculi will only deal with a theory whose formulae are written in prenex normal form. The concept is
essential for developing the arithmetical hierarchy and the analytical hierarchy.
Gdel's proof of his completeness theorem for rst-order logic presupposes that all formulae have been recast in
prenex normal form.

11.3 See also


Herbrandization

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

Skolem normal form

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.

12.1 How Skolemization works


Skolemization works by applying a second-order equivalence in conjunction to the denition of rst-order satisa-
bility. The equivalence provides a way for moving an existential quantier before a universal one.

( ) ( )
x R(g(x)) yR(x, y) f x R(g(x)) R(x, f (x))

where

f (x) is a function that maps x to y .

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.2 Uses of Skolemization


One of the uses of Skolemization is automated theorem proving. For example, in the method of analytic tableaux,
whenever a formula whose leading quantier is existential occurs, the formula obtained by removing that quantier
via Skolemization may be generated. For example, if x.(x, y1 , . . . , yn ) occurs in a tableau, where x, y1 , . . . , yn
are the free variables of (x, y1 , . . . , yn ) , then (f (y1 , . . . , yn ), y1 , . . . , yn ) may be added to the same branch
of the tableau. This addition does not alter the satisability of the tableau: every model of the old formula may be
extended, by adding a suitable evaluation of f , to a model of the new formula.
This form of Skolemization is an improvement over classical Skolemization in that only variables that are free in the
formula are placed in the Skolem term. This is an improvement because the semantics of tableau may implicitly place
the formula in the scope of some universally quantied variables that are not in the formula itself; these variables are
not in the Skolem term, while they would be there according to the original denition of Skolemization. Another
improvement that may be used is applying the same Skolem function symbol for formulae that are identical up to
variable renaming.[2]
Another use is in the resolution method for rst order logic, where formulas are represented as sets of clauses under-
stood to be universally quantied. (For an example see drinker paradox.)

12.3 Skolem theories


In general, if T is a theory and for each formula F with free variables x1 , . . . , xn , y there is a Skolem function, then
T is called a Skolem theory.[3] For example, by the above, arithmetic with the Axiom of Choice is a Skolem theory.
Every Skolem theory is model complete, i.e. every substructure of a model is an elementary substructure. Given a
model M of a Skolem theory T, the smallest substructure containing a certain set A is called the Skolem hull of A.
The Skolem hull of A is an atomic prime model over A.

12.4 See also


Herbrandization, the dual of Skolemization
34 CHAPTER 12. SKOLEM NORMAL FORM

Predicate functor logic

12.5 Notes
[1] Normal Forms and Skolemization (PDF). max planck institut informatik. Retrieved 15 December 2012.

[2] R. Hhnle. Tableaux and related methods. Handbook of Automated Reasoning.

[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

12.7 External links


Hazewinkel, Michiel, ed. (2001) [1994], Skolem function, Encyclopedia of Mathematics, Springer Sci-
ence+Business Media B.V. / Kluwer Academic Publishers, ISBN 978-1-55608-010-4

Skolemization on PlanetMath.org
Skolemization by Hector Zenil, The Wolfram Demonstrations Project.

Weisstein, Eric W. SkolemizedForm. MathWorld.


12.8. TEXT AND IMAGE SOURCES, CONTRIBUTORS, AND LICENSES 35

12.8 Text and image sources, contributors, and licenses


12.8.1 Text
Algebraic normal form Source: https://en.wikipedia.org/wiki/Algebraic_normal_form?oldid=776413263 Contributors: Michael Hardy,
Charles Matthews, Olathe, CyborgTosser, Macrakis, Mairi, Oleg Alexandrov, Linas, Ner102, GBL, Jon Awbrey, CBM, Salgueiro~enwiki,
Magioladitis, JackSchmidt, Hans Adler, Uscitizenjason, Legobot, Yobot, Omnipaedista, Klbrain, Matthiaspaul, Jiri 1984, Jochen Burghardt,
YiFeiBot, Anarchyte and Anonymous: 5
Beta normal form Source: https://en.wikipedia.org/wiki/Beta_normal_form?oldid=772223164 Contributors: Michael Hardy, Dominus,
Dysprosia, Ruakh, Spayrard, Tromp, Linas, BD2412, StevenDaryl, William Lovas, Salsb, Jpbowen, Cedar101, Donhalcon, SmackBot,
Mhss, Addbot, Erik9bot, Trappist the monk, BG19bot, JonathasDantas, Synthwave.94, Shallchang, Malan and Anonymous: 4
Blake canonical form Source: https://en.wikipedia.org/wiki/Blake_canonical_form?oldid=782924027 Contributors: Macrakis, David
Eppstein, Matthiaspaul, Kmzayeem and Magic links bot
Conjunctive normal form Source: https://en.wikipedia.org/wiki/Conjunctive_normal_form?oldid=788157452 Contributors: Bryan Derk-
sen, Robert Merkel, BenBaker, Arvindn, Toby Bartels, B4hand, Michael Hardy, Aquatopia~enwiki, Ldo, Thesilverbail, Jleedev, Giftlite,
CyborgTosser, Niteowlneils, Macrakis, Gubbubu, Wzwz, Ary29, Erik Garrison, MementoVivere, ESkog, Cherlin, Obradovic Goran,
Poromenos, Oleg Alexandrov, Linas, Jacobolus, Eclecticos, Simsong, Graham87, BD2412, Tizio, Salix alba, Mike Segal, Mathbot, Jr-
tayloriv, Fresheneesz, Masnevets, Chobot, Dresdnhope, YurikBot, Hairy Dude, Cedar101, GrinBot~enwiki, SmackBot, Jpvinall, Rotem-
liss, Mhss, Bluebot, PrimeHunter, Jon Awbrey, Danlev, Ylloh, CBM, Andkore, Myasuda, Simeon, Gregbard, Blaisorblade, Thijs!bot,
Hermel, Magioladitis, A3nm, Aydos~enwiki, Mikhail Dvorkin, AntiSpamBot, Policron, Ross Fraser, TXiKiBoT, Mx2323, Jamelan,
AlleborgoBot, IsleLaMotte, Tesi1700, Dardasavta, Alejandrocaro35, DumZiBoT, Addbot, Download, Yobot, AnomieBOT, IM Serious,
LilHelpa, Snikeris, Hobsonlane, D'ohBot, Mikolasj, EmausBot, Frostyandy2k, Mo ainm, Bobogoobo, Tijfo098, Cognominally, Petrb,
Hofmic, OSDevLabs, Jamesx12345, Jochen Burghardt, SA 13 Bro, Tleo, NicoScribe, GreenC bot, Bchangip, Magic links bot and
Anonymous: 80
Disjunctive normal form Source: https://en.wikipedia.org/wiki/Disjunctive_normal_form?oldid=781236232 Contributors: Bryan Derk-
sen, BenBaker, Toby Bartels, B4hand, Sarrazip, Altenmann, Tea2min, DavidCary, Bnn, Brona, CyborgTosser, Macrakis, Wzwz, Me-
mentoVivere, ZeroOne, EmilJ, Haham hanuka, Linas, A3r0, Graham87, BD2412, Tizio, Fresheneesz, Roboto de Ajvol, GrinBot~enwiki,
Ajm81, Mhss, Bluebot, Jon Awbrey, Ben Spinozoan, CBM, Simeon, Gregbard, Widefox, Dougher, Smerdis, Batenka~enwiki, Kundu,
Policron, Jamelan, Tvdm, Alejandrocaro35, Hans Adler, Addbot, Linket, AnomieBOT, Groovenstein, Doulos Christos, Gryllida, Igor
Yalovecky, Diego Grez Bot, Jiri 1984, Intervallic, ZiYouXunLu, Ref1fois, Jochen Burghardt, Nikhilponnuru and Anonymous: 32
Head normal form Source: https://en.wikipedia.org/wiki/Beta_normal_form?oldid=772223164 Contributors: Michael Hardy, Dominus,
Dysprosia, Ruakh, Spayrard, Tromp, Linas, BD2412, StevenDaryl, William Lovas, Salsb, Jpbowen, Cedar101, Donhalcon, SmackBot,
Mhss, Addbot, Erik9bot, Trappist the monk, BG19bot, JonathasDantas, Synthwave.94, Shallchang, Malan and Anonymous: 4
Herbrand normal form Source: https://en.wikipedia.org/wiki/Herbrandization?oldid=775528064 Contributors: Tea2min, AshtonBen-
son, Bjones, Linas, SmackBot, MarshBot, Mere Interlocutor, Omnipaedista, MorganGreen, BG19bot and Anonymous: 3
Herbrandization Source: https://en.wikipedia.org/wiki/Herbrandization?oldid=775528064 Contributors: Tea2min, AshtonBenson, Bjones,
Linas, SmackBot, MarshBot, Mere Interlocutor, Omnipaedista, MorganGreen, BG19bot and Anonymous: 3
Horn clause Source: https://en.wikipedia.org/wiki/Horn_clause?oldid=789355311 Contributors: Vkuncak, Edward, Michael Hardy,
Karada, Angela, Charles Matthews, Dcoetzee, Doradus, Thadk, Ldo, Robbot, Fieldmethods, Altenmann, Kwi, Cek, Tom harrison, Gub-
bubu, Sigfpe, Xmlizer, Luqui, Jonathanischoice, Elwikipedista~enwiki, Chalst, EmilJ, Karlheg, Jumbuck, Woohookitty, Linas, Jacobo-
lus, MattGiuca, BD2412, Tizio, Tawker, YurikBot, Ritchy, Bota47, Ott2, GrinBot~enwiki, Mhss, Theone256, NYKevin, Rsimmonds01,
Ft1~enwiki, CRGreathouse, Tajko, Gregbard, A Softer Answer, Thijs!bot, Hannes Eder, Kevin.cohen, David Eppstein, Paullakso, In-
quam, Rod57, Knverma, Jamelan, RatnimSnave, Logperson, Hans Adler, Addbot, Lightbot, Jarble, Ptbotgourou, AnomieBOT, Rubinbot,
ArthurBot, MIRROR, Olexa Riznyk, Nunoplopes, EmausBot, Tijfo098, ClueBot NG, Gareth Grith-Jones, Osnetwork, Michael Zeising,
Helpful Pixie Bot, BLNarayanan, Compulogger, ChrisGualtieri, Hmainsbot1, Jochen Burghardt, Rintdusts, Marcello sachs, Jackee1234
and Anonymous: 35
Negation normal form Source: https://en.wikipedia.org/wiki/Negation_normal_form?oldid=786524060 Contributors: Vkuncak, Silver-
sh, Olathe, Macrakis, Starblue, Obradovic Goran, Pearle, Oleg Alexandrov, Linas, Kbdank71, Mets501, CRGreathouse, CBM, Greg-
bard, Cydebot, Christian75, Amikake3, Brian Geppert, Rpgoldman, Addbot, Luckas-bot, Tomdwrightenator, Janburse, Kejia, Mogism,
Ayush3292 and Anonymous: 8
Prenex normal form Source: https://en.wikipedia.org/wiki/Prenex_normal_form?oldid=783966640 Contributors: The Anome, Michael
Hardy, AugPi, Charles Matthews, Dysprosia, Greenrd, Pfortuny, Gandalf61, Lockeownzj00, 4pq1injbok, Fuxx, Oleg Alexandrov, Joriki,
Linas, MattGiuca, BD2412, Reetep, Jayme, PhS, SmackBot, Mhss, Esoth~enwiki, CRGreathouse, CBM, Thijs!bot, Jakob.scholbach,
Toobaz, AlleborgoBot, SieBot, IsleLaMotte, PixelBot, Addbot, SamatBot, Coreyoconnor, AnomieBOT, Omnipaedista, Epiglottisz, Wik-
itanvirBot, Jimw338 and Anonymous: 22
Skolem normal form Source: https://en.wikipedia.org/wiki/Skolem_normal_form?oldid=797218799 Contributors: Charles Matthews,
Dysprosia, Aleph4, Gandalf61, Ashley Y, Thesilverbail, Jason Quinn, Gubbubu, Nortexoid, Oleg Alexandrov, Linas, Tizio, Winterstein,
Mathbot, Jrtayloriv, Fresheneesz, Jayme, Hairy Dude, 4C~enwiki, Maxme~enwiki, Jsnx, SmackBot, Leechuck, Commander Keane bot,
Mhss, Chris the speller, Xyzzy n, Tompsci, ILikeThings, Myasuda, Kayobee, Rriegs, David Eppstein, Policron, 83d40m, Heyitspeter,
VolkovBot, Pleasantville, Kyle the bot, IsleLaMotte, PixelBot, Hans Adler, El bot de la dieta, Addbot, Legobot, Yobot, AnomieBOT,
Xqbot, Omnipaedista, Klangenfurt, John of Reading, KYLEMONGER, Tijfo098, Wcherowi, BG19bot, Ruchkin, Jochen Burghardt,
Mark viking, Kal71, Jtron2000 and Anonymous: 28

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

File:Karnaugh_map_KV_4mal4_18.svg Source: https://upload.wikimedia.org/wikipedia/commons/0/0c/Karnaugh_map_KV_4mal4_


18.svg License: Public domain Contributors: Own work Original artist: RosarioVanTulpe
File:Karnaugh_map_KV_4mal4_19.svg Source: https://upload.wikimedia.org/wikipedia/commons/d/d4/Karnaugh_map_KV_4mal4_
19.svg License: Public domain Contributors: Own work Original artist: RosarioVanTulpe
File:Question_book-new.svg Source: https://upload.wikimedia.org/wikipedia/en/9/99/Question_book-new.svg License: Cc-by-sa-3.0
Contributors:
Created from scratch in Adobe Illustrator. Based on Image:Question book.png created by User:Equazcion Original artist:
Tkgd2007
File:Text_document_with_red_question_mark.svg Source: https://upload.wikimedia.org/wikipedia/commons/a/a4/Text_document_
with_red_question_mark.svg License: Public domain Contributors: Created by bdesham with Inkscape; based upon Text-x-generic.svg
from the Tango project. Original artist: Benjamin D. Esham (bdesham)
File:Wiktionary-logo-en-v2.svg Source: https://upload.wikimedia.org/wikipedia/commons/9/99/Wiktionary-logo-en-v2.svg License:
CC-BY-SA-3.0 Contributors: ? Original artist: ?

12.8.3 Content license


Creative Commons Attribution-Share Alike 3.0

You might also like