In mathematical logic, a formula of first-order logic is in Skolem normal form if it is in prenex normal form with only universal first-order quantifiers.
Every first-order formula may be converted into Skolem normal form while not changing its satisfiability via a process called Skolemization (sometimes spelled Skolemnization). The resulting formula is not necessarily equivalent to the original one, but is equisatisfiable with it: it is satisfiable if and only if the original one is satisfiable.[1]
Reduction to Skolem normal form is a method for removing existential quantifiers from formal logic statements, often performed as the first step in an automated theorem prover.
The simplest form of Skolemization is for existentially quantified variables that are not inside the scope of a universal quantifier. These may be replaced simply by creating new constants. For example,
\existsxP(x)
P(c)
c
More generally, Skolemization is performed by replacing every existentially quantified variable
y
f(x1,\ldots,xn)
f
x1,\ldots,xn
y
\existsy
\existsy
f
\forallx\existsy\forallzP(x,y,z)
\existsy
y
f(x)
f
\forallx\forallzP(x,f(x),z)
f(x)
x
z
\existsy
\forallx
\forallz
x
y
z
Skolemization works by applying a second-order equivalence together with the definition of first-order satisfiability. The equivalence provides a way for "moving" an existential quantifier before a universal one.
\forallx\existsyR(x,y)\iff\existsf\forallxR(x,f(x))
f(x)
x
y
Intuitively, the sentence "for every
x
y
R(x,y)
f
x
y
x
R(x,f(x))
This equivalence is useful because the definition of first-order satisfiability implicitly existentially quantifies over functions interpreting the function symbols. In particular, a first-order formula
\Phi
M
\mu
\forallxR(x,f(x))
M
f
\forallxR(x,f(x))
\existsf\forallxR(x,f(x))
\forallx\existsyR(x,y)
At the meta-level, first-order satisfiability of a formula
\Phi
\existsM\exists\mu(M,\mu\models\Phi)
M
\mu
\models
\Phi
M
\mu
\Phi
\existsM
\existsf\forallxR(x,f(x))
\forallxR(x,f(x))
\existsM
Correctness of Skolemization may be shown on the example formula
F1=\forallx1...\forallxn\existsyR(x1,...,xn,y)
M
x1,...,xn
y
R(x1,...,xn,y)
f
y=f(x1,...,xn)
F2=\forallx1...\forallxnR(x1,...,xn,f(x1,...,xn))
f
M
F1
F2
F2
M'
f
x1,...,xn
R(x1,...,xn,f(x1,...,xn))
F1
x1,\ldots,xn
y=f(x1,...,xn)
f
M'
One of the uses of Skolemization is within automated theorem proving. For example, in the method of analytic tableaux, whenever a formula whose leading quantifier is existential occurs, the formula obtained by removing that quantifier via Skolemization may be generated. For example, if
\existsx\Phi(x,y1,\ldots,yn)
x,y1,\ldots,yn
\Phi(x,y1,\ldots,yn)
\Phi(f(y1,\ldots,yn),y1,\ldots,yn)
f
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 tableaux may implicitly place the formula in the scope of some universally quantified 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 definition 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 first-order logic, where formulas are represented as sets of clauses understood to be universally quantified. (For an example see drinker paradox.)
An important result in model theory is the Löwenheim–Skolem theorem, which can be proven via Skolemizing the theory and closing under the resulting Skolem functions.[3]
In general, if
T
x1,...,xn,y
F
y
T
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 of M containing a certain set A is called the Skolem hull of A. The Skolem hull of A is an atomic prime model over A.
Skolem normal form is named after the late Norwegian mathematician Thoralf Skolem.