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. :\forall x \exists y R(x,y) \iff \exists f \forall 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 that 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 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 interpretation 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 interpretation 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 true in M under \mu. Since first-order models contain the interpretation of all function symbols, any Skolem function that \Phi contains is implicitly existentially quantified by \exists M. As a result, after replacing existential quantifiers over variables by 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. Correctness of Skolemization may be shown on the example formula F_1 = \forall x_1 \dots \forall x_n \exists y R(x_1,\dots,x_n,y) as follows. This formula is satisfied by a
model M if and only if, for each possible value for x_1,\dots,x_n in the domain of the model, there exists a value for y in the domain of the model that makes R(x_1,\dots,x_n,y) true. By the
axiom of choice, there exists a function f such that y = f(x_1,\dots,x_n). As a result, the formula F_2 = \forall x_1 \dots \forall x_n R(x_1,\dots,x_n,f(x_1,\dots,x_n)) is satisfiable, because it has the model obtained by adding the interpretation of f to M. This shows that F_1 is satisfiable only if F_2 is satisfiable as well. Conversely, if F_2 is satisfiable, then there exists a model M' that satisfies it; this model includes an interpretation for the function f such that, for every value of x_1,\dots,x_n, the formula R(x_1,\dots,x_n,f(x_1,\dots,x_n)) holds. As a result, F_1 is satisfied by the same model because one may choose, for every value of x_1,\ldots,x_n, the value y=f(x_1,\dots,x_n), where f is evaluated according to M'. ==Uses of Skolemization==