Propositional resolution manipulates fixed atoms. First-order resolution must also decide which terms can denote the same objects for an inference step, and how existential witnesses depend on universally quantified variables. FIT3080’s second logic lecture develops substitution, unification, clause conversion, resolution, and a worked theorem-proving example; this note follows that route and makes its correctness conditions explicit [1][1] Monash, “FIT3080 Artificial Intelligence: Logic, Inference Algorithms, and First Order Logic, Parts I and II,” 2025. Course lecture materials, Semester 2. Part II reading list: AIMA 4th ed., Sections 7.1--7.5, 8.1--8.3, 9.1, 9.2, 9.5..
Read Formal Logic and Natural Deduction for syntax and quantifiers, and Propositional Automated Reasoning for clauses and refutation. Unless stated otherwise, the resolution calculus here is for classical first-order logic without built-in equality, over nonempty domains and ordinary finite terms. Equality requires additional treatment later in the note.
Substitution: replace variables consistently
A substitution is a finite map from variables to terms. Write and for its application to expression . All free occurrences of the same variable receive the same term, with capture avoided under quantifiers.
Substitution is simultaneous. With ,
not . The replacement inserted for is not recursively reprocessed by that same substitution. Composition is a separate operation. Define ; for and , , whereas . Composition order therefore matters.
Before resolving two clauses, standardize their variables apart. The universal variable in one clause is not a shared free parameter with an written in another. Rename the second clause’s variables freshly before combining them; this prevents accidental identifications that can block legitimate inferences.
Unification and most general unifiers
A unifier makes two expressions syntactically identical after substitution. A most general unifier, or MGU, imposes no unnecessary additional commitments: every other unifier is an instance of it, on the variables of the problem.
Unify with . The predicate and arity match, leaving equations and . Decompose the latter to obtain . Thus an MGU is
Both expressions become . In contrast, and do not unify when are distinct constant symbols: the same variable would have to receive two different syntactic terms. This is about syntactic matching, not an assumption that distinct names must denote different objects in every interpretation.
A practical unifier maintains pending term equations and a substitution. Its core operations are:
- Delete an equation whose sides are already identical.
- Decompose matching function symbols with matching arities into equations between their arguments.
- Orient a variable equation as . If does not occur in , replace by throughout the remaining equations and previously recorded replacement terms.
- Fail on mismatched function symbols or arities, or when the occurs check fails.
The occurs check rejects : no finite term equals a proper term containing itself. Some programming systems support cyclic terms by using different term semantics; that is not the unification problem defined here. For finite first-order terms, the standard unification algorithm terminates with an MGU or failure.
The equations and first give a provisional binding for , then refine it when is solved. The resulting substitution is . Recording the two bindings without propagating the second into the first would not produce this normalized simultaneous substitution.
From a quantified formula to clauses
To prove , refute . For a finite first-order knowledge base and sentence query, the preprocessing pipeline is:
- Eliminate and .
- Move negations to atoms, using the quantifier negation laws.
- Rename bound variables so separate quantifiers use separate names.
- Move quantifiers to a prenex prefix, observing free-variable restrictions.
- Remove existential quantifiers by introducing fresh Skolem symbols with the correct universal dependencies.
- Convert the remaining matrix to CNF.
- Treat remaining variables as universally quantified, split the conjunction into clauses, and standardize variables apart between clauses.
Steps involving Skolemization preserve satisfiability in an expanded signature, not literal equivalence in the original signature. “Drop the universal quantifiers” is a notation convention for clauses; it does not turn universal variables into arbitrary constants or existential variables. Direct CNF distribution can still be expensive, so this simple pipeline is a teaching procedure rather than an optimized implementation.
Skolem functions record witness dependence
Compare
For the first, introduce a fresh function and use : the witness may depend on . For the second, introduce a fresh constant and use : one witness must serve every . Replacing by a constant in the first formula would impose a stronger requirement than the original.
Why is satisfiability preserved? A model of the Skolemized formula supplies witnesses through the new function or constant; forgetting that new symbol leaves a model of the original sentence. Conversely, a model of the original can be expanded by selecting suitable witnesses as interpretations of the fresh symbols, using the usual background assumptions of model theory. Existing symbols cannot be reused indiscriminately, because that could impose relations between witnesses which the original formula never required.
Consider
After Skolemization the clauses can be written
The clause variables have been renamed apart, but the Skolem function remains the same . Renaming it independently in each clause would lose the requirement that the same witness satisfy both conditions for each input.
First-order resolution
Let and be clauses with variables standardized apart, where the atoms have MGU . Binary resolution derives
The substitution applies to the entire remaining resolvent, not only the selected literals. The rule is sound because universally quantified parent clauses permit the substituted instances, and propositional resolution is sound on those instances.
Resolve with . The selected atoms unify under , yielding . Deriving with an uninstantiated universal would be an unjustified strengthening.
For a standard complete first-order resolution calculus, binary resolution is accompanied by factoring. If same-sign literals in a clause unify, apply their MGU to the whole clause and merge them. For example, factors to under . Factoring is more than deleting already identical literals; it can create a useful instance by unifying them. The usual refutation-completeness result assumes the full calculus and suitable fair search, not just arbitrary binary steps.
Factoring is sound because a universally quantified clause entails every substitution instance; after the unifier is applied, repeated identical literals have the same truth value as a single copy. The general first-order refutation-completeness theorem still requires Herbrand’s theorem and the lifting lemma, neither proved here. The worked refutation below does not establish that metatheorem.
A complete proof with an existential query
Use a signature with constant , unary predicate , binary predicate , and unary predicate . The premises are
Think of as “ is an approved supplier,” as “ supplies ,” and as “ is certified.” The goal is .
In the rule, eliminate the implication and move the existential quantifier outward through the disjunction, which is allowed because is not free in . Introduce a fresh Skolem function . Split the resulting CNF into two clauses, retaining the same . Negate the goal to get .
| Clause | Formula | Source |
|---|---|---|
| 1 | Fact | |
| 2 | Skolemized rule | |
| 3 | Skolemized rule | |
| 4 | Negated goal | |
| 5 | Resolve 1 and 3, | |
| 6 | Resolve 4 and 5, |
The empty clause refutes the negated query, proving that a certified object exists. Its name in the extended language is , but the original theory did not name a particular object. Clause 2 is valid input but unnecessary for this query; a search strategy need not use every available premise.
Search strategy and the limits of termination
A finite propositional vocabulary yields finitely many different clauses. First-order function symbols can instead produce unbounded terms such as . A search that derives more and more clauses may therefore never saturate.
Classical first-order validity is semidecidable: a complete, fairly organized proof search eventually finds a proof when the sentence is valid, but need not terminate when it is invalid. Correspondingly, resolution can eventually refute an unsatisfiable clause set under the completeness assumptions, while a satisfiable input may run forever. Soundness and completeness do not imply a decision procedure for every first-order input [2][2] OpenLogicProject, The Open Logic Text. 2026. Complete build, revision 9620cc7, July 12, 2026; CC BY 4.0. https://builds.openlogicproject.org/open-logic-complete.pdf.
FIT3080 introduces several ways of guiding resolution. Their restrictions must be stated precisely:
| Technique | Purpose and qualification |
|---|---|
| Unit preference | Try short/unit parents early; preference should not starve required inferences |
| Unit resolution | Require a unit parent in every step; this restriction is not complete for arbitrary clause sets |
| Set of support | Require a parent from the support set or its descendants; the usual completeness guarantee requires the clauses outside that set to be satisfiable |
| Input resolution | Require an original input clause as a parent; not complete for general clause sets |
| Subsumption | Remove a clause made redundant by a more general retained clause; finding such a match itself takes work |
For example, subsumes because an instance of the first clause is a subset of the second. Preserve proof provenance when deleting redundant clauses. Setting the negated goal as the initial support is useful when the remaining knowledge base is satisfiable; if it is already inconsistent, that justification no longer applies automatically.
Equality, logic programming, and SMT
If equality is built into the logic, ordinary predicate resolution alone does not capture all its properties. One needs equality axioms or specialized rules such as paramodulation or superposition. For example, and entail under identity semantics, but treating equality as an unrelated predicate would miss the connection.
Definite first-order clauses also lead to logic programming and SLD resolution. A procedure may be sound yet loop because it repeatedly chooses the same recursive branch; ordinary depth-first Prolog search does not inherit a blanket termination or completeness guarantee. Function-free finite-domain settings offer stronger termination properties, but those restrictions must be explicit.
SMT extends propositional search with reasoning in specified theories, such as linear arithmetic, equality with uninterpreted functions, or arrays. It is not a universal solution to first-order logic. The supported theory fragment determines guarantees; quantified or difficult inputs may produce an unknown result. These topics extend the course’s introductory path, rather than being prerequisites for the examples above [3][3] C. Trippel and H. Lachnitt, “CS 257: Introduction to Automated Reasoning,” 2026. Winter 2026 course: propositional reasoning, first-order resolution and unification, and satisfiability modulo theories. https://web.stanford.edu/class/cs257/.
What to preserve in a proof certificate
For each derived clause, record its parent identifiers, the renamed variables, the resolved or factored literals, and the substitution. A checker verifies that the substitution actually unifies the selected expressions and that the resulting clause is correct. It should also validate the preprocessing steps, including freshness and dependence of Skolem symbols; a flawless refutation of the wrong encoding does not prove the original claim.
Return a checked refutation when one is found. If a model is reported, verify it against the original sentences. A time or resource limit should yield “unknown,” not “false.” This is the smallest useful distinction between a demonstration of proof search and an accountable theorem-proving pipeline.
Exercises
Unify with . State an MGU and verify both substituted expressions.
Show solution
The argument equations give and , hence . An MGU is . Both atoms become .
Skolemize . Which arguments do the new functions need in the standard construction?
Show solution
Use fresh functions to obtain . The witness for depends on preceding universal ; the witness for may depend on preceding universals . The earlier witness has already been represented by , so no separate existential argument is needed.
Someone resolves with and writes . Repair the step.
Show solution
The MGU is . It applies to the remaining literal too, giving . Leaving universally quantified would claim the predicate holds of every object.
An unrestricted first-order prover keeps generating terms without finding a contradiction. Does completeness imply that it must eventually report a satisfying model?
Show solution
No. Refutation completeness guarantees eventual discovery of a refutation for unsatisfiable input under fair search. It does not guarantee termination or model production for satisfiable input. Without an independently checked model or a suitable complete decision procedure for the fragment, the result remains unknown.
The four clauses , , , are jointly unsatisfiable: every assignment falsifies one of them. Unit resolution cannot start, since none is a unit. Input resolution may derive units, but a final binary step deriving the empty clause must have two complementary unit parents. Neither can be an original input clause, so that final step is forbidden. Unrestricted resolution derives from the first pair, from the second pair, and then the empty clause.
References
- [1] Monash, “FIT3080 Artificial Intelligence: Logic, Inference Algorithms, and First Order Logic, Parts I and II,” 2025. Course lecture materials, Semester 2. Part II reading list: AIMA 4th ed., Sections 7.1--7.5, 8.1--8.3, 9.1, 9.2, 9.5. ↩
- [2] OpenLogicProject, The Open Logic Text. 2026. Complete build, revision 9620cc7, July 12, 2026; CC BY 4.0. https://builds.openlogicproject.org/open-logic-complete.pdf ↩
- [3] C. Trippel and H. Lachnitt, “CS 257: Introduction to Automated Reasoning,” 2026. Winter 2026 course: propositional reasoning, first-order resolution and unification, and satisfiability modulo theories. https://web.stanford.edu/class/cs257/ ↩
Comments