Natural Deduction
Natural deduction methods perform deduction in a manner similar to reasoning used by humans, e.g. in proving mathematical theorems.
Forward chaining and backward chaining are natural deduction methods. These are similar to the algorithms described earlier for propositional logic, with extensions to handle variable bindings and unification.
Backward chaining by itself is not complete, since it only handles
Horn clauses (clauses that have at most one positive literal).
Not all clauses are Horn; for example, ``Every integer is odd or even''
becomes:
Integer(x) → Odd(x) ∨ Even(x)
¬ Integer(x) ∨ Odd(x) ∨ Even(x)
which has two
positive literals. Such clauses do not work with backchaining.
Splitting can be used with backchaining to make it complete. Splitting makes assumptions (e.g. ``Assume x is Odd) and attempts to prove the theorem for each case. If the conclusion is true for all possible assumptions, it is true.