Deductive Reasoning in First-order Logic 189 Using the equivalences (a) and (b): A ≡ ∀z ∀x(¬Q(x, z ) ∧ ¬P (x)) ∨ ∃x(P (x) ∨ ∀z ¬Q(z, x)) Renaming: A ≡ ∀z ∀x(¬Q(x, z ) ∧ ¬P (x)) ∨ ∃y (P (y ) ∨ ∀w¬Q(w, y )) Using the equivalences (c–f) and pulling the quantifiers in front: A ≡ ∀z ∀x∃y ∀w((¬Q(x, z ) ∧ ¬P (x)) ∨ P (y ) ∨ ¬Q(w, y )) The resulting formula is in a prenex DNF For a prenex CNF we have to distribute the ∨ over ∧: A ≡ ∀z ∀x∃y ∀w((¬Q(x, z ) ∨ P (y ) ∨ ¬Q(w, y )) ∧ (¬P (x) ∨ P (y ) ∨ ¬Q(w, y ))) Note that we could have renamed the formula A into a clean formula right from the beginning That would have made the resulting prenex formula much larger, however 4.4.2 Skolemization Skolemization, named after the logician Thoralf Skolem who first developed it (read more about him in the biographical box at the end of the section), is a procedure for systematic elimination of the existential quantifiers in a first-order formula in a prenex form, by way of uniform replacement of all occurrences of existentially quantified individual variables with terms headed by new functional symbols, called Skolem functions In the traditional version of Skolemization, these Skolem functions take as arguments all variables (if any) which are bound by universal quantifiers in the scope of which the given existential quantifier sits In particular, existentially quantified variables not in the scope of any universal quantifiers are replaced by constant symbols, called Skolem constants The Skolemization procedure is explained by the following examples Example 144 The result of Skolemization of the formula ∃x∀y ∀z (P (x, y ) → Q(x, z )) is ∀y ∀z (P (c, y ) → Q(c, z )), where c is a new constant symbol called a Skolem constant Intuitively, c names an element of the domain witnessing the truth of ∃xA( x ) such that A( c/x ) is true More generally, the result of Skolemization of the formula ∃x1 · · · ∃xk ∀y1 · · · ∀yn A(x1 , , xk , y1 , , yn ) is ∀y1 · · · ∀yn A(c1 , , ck , y1 , , yn ), where c1 , , ck are new Skolem constants