Artificial Intelligence A Modern Approach (3rd Edition): page 255.
function PL-RESOLUTION(KB, α) returns true or false inputs: KB, the knowledge base, a sentence in propositional logic α, the query, a sentence in propositional logic clauses ← the set of clauses in the CNF representation of KB ∧ ¬α new ← {} loop do for each pair of clauses Ci, Cj in clauses do resolvents ← PL-RESOLVE(Ci, Cj) if resolvents contains the empty clause then return true new ← new ∪ resolvents if new ⊆ clauses then return false clauses ← clauses ∪ new
Figure 7.12 A simple resolution algorithm for propositional logic. The function PL-RESOLVE returns the set of all possible clauses obtained by resolving its two inputs.
@author Ravi Mohan
@author Mike Stampone