# Skolem normal form

In mathematical logic, reduction to Skolem normal form (SNF) is a method for removing existential quantifiers from formal logic statements, often performed as the first step in an automated theorem prover.

A formula of first-order logic is in Skolem normal form (named after Thoralf Skolem) 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.

The simplest form of Skolemization is for existentially quantified variables which are not inside the scope of a universal quantifier. These may be replaced simply by creating new constants. For example, $\exists 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 quantified variable $y$ with a term $f(x_{1},\ldots ,x_{n})$ whose function symbol $f$ is new. The variables of this term are as follows. If the formula is in prenex normal form, $x_{1},\ldots ,x_{n}$ are the variables that are universally quantified and whose quantifiers precede that of $y$ . In general, they are the variables that are quantified universally Template:Clarify and such that $\exists y$ occurs in the scope of their quantifiers. 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.

## How Skolemization works

Skolemization works by applying a second-order equivalence in conjunction to the definition of first-order satisfiability. The equivalence provides a way for "moving" an existential quantifier before a universal one.

$\forall x{\Big (}R(g(x))\vee \exists yR(x,y){\Big )}\iff \forall x{\Big (}R(g(x))\vee R(x,f(x)){\Big )}$ where

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

This equivalence is useful because the definition of first-order satisfiability implicitly existentially quantifies over the evaluation of function symbols. In particular, a first-order formula $\Phi$ is satisfiable if there exists a model $M$ and an evaluation $\mu$ 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 quantified. In the example above, $\forall x.R(x,f(x))$ is satisfiable if and only if, there exists a model $M$ , which contains an evaluation for $f$ , such that $\forall 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 $\exists f\forall x.R(x,f(x))$ . By the above equivalence, this is the same as the satisfiability of $\forall x\exists y.R(x,y)$ .

At the meta-level, first-order satisfiability of a formula $\Phi$ may be written with a little abuse of notation as $\exists M\exists \mu ~.~(M,\mu \models \Phi )$ , where $M$ is a model, $\mu$ is an evaluation of the free variables, and $\models$ means that $\Phi$ is a semantic consequence of $M$ and $\mu$ . Since first-order models contain the evaluation of all function symbols, any Skolem function $\Phi$ contains is implicitly, existentially quantified by $\exists M$ . As a result, after replacing an existential quantifier over variables into an existential quantifiers over functions at the front of the formula, the formula still may be treated as a first-order one by removing these existential quantifiers. This final step of treating $\exists f\forall x.R(x,f(x))$ as $\forall x.R(x,f(x))$ may be completed because functions are implicitly existentially quantified by $\exists M$ in the definition of first-order satisfiability.

## 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 quantifier is existential occurs, the formula obtained by removing that quantifier via Skolemization may be generated. For example, if $\exists x.\Phi (x,y_{1},\ldots ,y_{n})$ occurs in a tableau, where $x,y_{1},\ldots ,y_{n}$ are the free variables of $\Phi (x,y_{1},\ldots ,y_{n})$ , then $\Phi (f(y_{1},\ldots ,y_{n}),y_{1},\ldots ,y_{n})$ may be added to the same branch of the tableau. This addition does not alter the satisfiability 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 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.

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

## Skolem theories

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.