188 The formula Logic as a Tool ∀x∃y (x > → (y > ∧ x = y )) is in a prenex form but not in DNF or in CNF The formula ∀x(x > → ∃y (y > ∧ x = y )) is not in a prenex form Theorem 142 Every first-order formula is equivalent to a formula in a prenex disjunctive normal form (PDNF) and to a formula in a prenex conjunctive normal form (PCNF) I only provide a brief outline of an algorithm for construction of these normal forms, for a given any formula A Eliminate all occurrences of → and ↔ as in the propositional case Import all negations inside all other logical connectives and transform the formula to negation-normal form Pull all quantifiers in front and therefore transform the formula into a prenex form For that, use the equivalences (a) ∀xP ∧ ∀xQ ≡ ∀x(P ∧ Q) and (b) ∃xP ∨ ∃xQ ≡ ∃x(P ∨ Q) to pull some quantifiers outward, after renaming the formula wherever necessary Then use the following equivalences, where x does not occur free in Q, until the formula is transformed to a prenex form: (c) ∀xP ∧ Q ≡ Q ∧ ∀xP ≡ ∀x(P ∧ Q) (d) ∀xP ∨ Q ≡ Q ∨ ∀xP ≡ ∀x(P ∨ Q) (e) ∃xP ∨ Q ≡ Q ∨ ∃xP ≡ ∃x(P ∨ Q) (f) ∃xP ∧ Q ≡ Q ∧ ∃xP ≡ ∃x(P ∧ Q) Finally, transform the matrix into a DNF or CNF, as for a propositional formula A simplified, but more inefficient procedure for getting the quantifiers out first transforms the formula into an equivalent clean formula by suitable renaming of bound variables It then pulls out all quantifiers by maintaining the order, tacitly using the last four equivalences (c–f) above However, this procedure often introduces unnecessary new variables, which makes the result not optimal for the Skolemization step of the procedure, described in the following section Example 143 Let A = ∃z (∃xQ(x, z ) ∨ ∃xP (x)) → ¬(¬∃xP (x) ∧ ∀x∃zQ(z, x)) Eliminating →: A ≡ ¬∃z (∃xQ(x, z ) ∨ ∃xP (x)) ∨ ¬(¬∃xP (x) ∧ ∀x∃zQ(z, x)) Importing the negation: A ≡ ∀z (¬∃xQ(x, z ) ∧ ¬∃xP (x)) ∨ (¬¬∃xP (x) ∨ ¬∀x∃zQ(z, x)) ≡ ∀z (∀x¬Q(x, z ) ∧ ∀x¬P (x)) ∨ (∃xP (x) ∨ ∃x∀z ¬Q(z, x))