-2

When using skolemization to replace existentially quantified variables in an expression, any existential bound at the top level can be replaced by a new globally unique constant, however if the existential is under a universal quantification it cannot be replaced by a constant. It must be replaced instead by a new globally unique predicate symbol which is applied to all the universally quantified variables in scope.

I don't understand why this must be so, since the uniqueness of the new predicate symbol must surely prevent it from unifying with any other object but itself.

Jean-Baptiste
  • 31
  • 2
  • 11
  • 1
    This question does not belong here, consider moving it to math.stackexchange.com – etuardu Mar 15 '23 at 20:30
  • 1
    It probably is better suited to the math stack exchange, but skolemization is directly software related for theorem provers and type checkers. – Jean-Baptiste Mar 20 '23 at 11:50

1 Answers1

1

Each step in Skolemization preserves the satisfiability of the formula. If all existentially-bound variables are replaced by constants instead of functions, the modified formula may be unsatisfiable even if the original formula was satisfiable.

Consider the formula \forall x \exists y. P(x,y), where P is a first-order formula with free variables x and y. If you simply replace y with a new constant c, the resulting formula \forall x. P(x,c) is logically stronger, as y is allowed to depend on x, but c is not.

In other words, Skolemization relies on the (second-order) logical equivalence \forall x \exists y P(x,y) \iff \exists f \forall x P(x,f(x)), and that \forall x. P(x,f(x)) is satisfiable iff \exists f \forall x.P(x,f(x)) is. Your suggestion breaks down because \exists c \forall x.P(x,c) is not equivalent to \forall x \exists y. P(x,y).

For a specific counter-example, suppose that P encodes the following:

  • the axioms of group theory with operation * and identity 1,
  • the group has order at least 2: \exists a \exists b. a \not = b , and
  • y is the inverse of x: x*y = 1.

Then \forall x \exists y. P(x,y) is satisfiable, since it says "every element of the group has an inverse." But \forall x. P(x,c) is not satisfiable, since it says "the element c is the inverse to every group element."

Philip Garrison
  • 576
  • 3
  • 8