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.