Resolution works with formulas expressed in clausal form:
- A literal is an atomic formula or the negation of an atomic formula.
- A clause is a disjunction of literals.
- A clausal theory is a set of clauses.
basically:
- if is false, then must be true
- if is false, then must be true
first clause, second clause
resolved together
new clause is called the resolvant of the two clauses
contradiction: denoted by an empty clause
The conversion to clausal form requires a list of steps:
- Eliminate implications.
- . Convert to the right form.
- Move negations inwards and simplify any double negations.
- Standardise variables. Here, we want to rename variables so that each quantified variable is unique. i.e., if two variables are named the same, but exist in non-conflicting scopes, then we should rename them such that they don’t conflict.
- Get rid of the existential quantifiers (also called skolemisation).
- add function symbols that mention every universally quantified variable that scopes the existential
- Move all the quantifiers to the front. This converts to prenex form.
- Distribute conjunctions over disjunctions.
- Flatten nested conjunctions and disjunctions.
- Convert to clauses, by removing universal quantifiers and breaking apart conjunctions.
