5.2.2 Proofs
So far, we have specified what an answer is, but not how it can be computed. The definition of specifies what propositions should be logical consequences of a knowledge base but not how to compute them. The problem of deduction is to determine if some proposition is a logical consequence of a knowledge base. Deduction is a specific form of inference.
A proof is a mechanically derivable demonstration that a proposition logically follows from a knowledge base. A theorem is a provable proposition. A proof procedure is a - possibly non-deterministic - algorithm for deriving consequences of a knowledge base. See the box for a description of non-deterministic choice.
Given a proof procedure, KB g means g can be proved or derived from knowledge base KB.
A proof procedure's quality can be judged by whether it computes what it is meant to compute.
A proof procedure is sound with respect to a semantics if everything that can be derived from a knowledge base is a logical consequence of the knowledge base. That is, if KB g, then KB g.
A proof procedure is complete with respect to a semantics if there is a proof of each logical consequence of the knowledge base. That is, if KB g, then KB g.
We present two ways to construct proofs for propositional definite clauses: a bottom-up procedure and a top-down procedure.