Memra

Clause form & Skolemization (bridge to resolution)

◈ 4 cards

Convert a sentence toward clause/CNF form and apply Skolemization (∀X∃Y mother(X,Y) ⇒ ∀X mother(X, m(X))); know the Skolem-constant vs Skolem-function rule. Light touch — sets up Module 9 resolution.

Why a normal form

The resolution inference rule (Module 9) is sound and complete, but it only works on sentences in a uniform shape called clause form — a conjunction of clauses, each clause a disjunction of literals (a literal is an atomic sentence or its negation). Converting an arbitrary predicate-calculus sentence to clause form is mechanical. You do not need all nine steps in detail yet; you need the idea and the one step that is genuinely subtle: Skolemization.

The conversion, sketched

Using the laws from Lesson 2 plus the quantifier rules from Lesson 4, the procedure broadly is:

  1. Eliminate and using .
  2. Push negations inward with De Morgan and the quantifier-negation rules (), until every sits on an atomic sentence.
  3. Standardise variables apart so no two quantifiers share a variable name.
  4. Skolemize — remove every existential quantifier (below).
  5. Drop the universal quantifiers (all remaining variables are implicitly universal) and distribute over to reach conjunctive normal form, then split into clauses.

Skolemization: removing

An existential says "there is some object". We name that object instead of quantifying it. Two cases:

  • No universal in scope → replace the existential variable with a brand-new Skolem constant. becomes where is a fresh constant naming "the president that exists".
  • Inside one or more universals → replace it with a Skolem function of those universal variables, because which object exists may depend on them. The classic example:

"Everyone has a mother" — the particular mother depends on the person , so the existential becomes the Skolem function ("the mother of "). A Skolem function is not a new predicate; it is a term-level construct capturing the dependency of the existential witness on the surrounding universals.

Worked example

Take "every person has a mother": . There is a universal in scope around the existential , so is replaced by a Skolem function , giving . Contrast "there exists a perfect being", , with no universal in scope: the existential becomes a Skolem constant, . The rule of thumb: constant when no ∀ surrounds it, function of the surrounding ∀-variables when one does. Skolemization is required before unification (Lesson 6), because the unify algorithm assumes every variable is universally quantified.

eliminate → and ≡P → Q ≡ ¬P ∨ Qpush ¬ inwardDe Morgan; ¬∀ ≡ ∃¬standardise variables apartno two quantifiers share a nameSkolemize∀X ∃Y mother(X,Y) ⇒ ∀X mother(X, m(X))drop ∀, distribute ∨ over ∧conjunctive normal form, then split
The pipeline is mechanical and order matters: implications must go before negations can be pushed in, and variables must be standardised apart before Skolemization, or two unrelated existentials collapse onto one Skolem term. Only the highlighted step needs judgement — <strong>constant when no ∀ surrounds the ∃, function of the surrounding ∀-variables when one does</strong>.
NORMAL ~/memra/learn/comp-456/clause-form-skolemization utf-8 LF