Let KB = { S1, S2,..., SM } be the set of all sentences in our Knowledge Base, where each Si is a sentence in Propositional Logic. Let { X1, X2, ..., XN } be the set of all the symbols (i.e., variables) that are contained in all of the M sentences in KB. Say we want to know if a goal (aka query, conclusion, or theorem) sentence G follows from KB.
Since we don't know the interpretation of these symbols or sentences in the world, we don't know whether the associated facts in the world are true or false. So, instead, consider all possible combinations of truth values for all the symbols, hence enumerating all worlds' truth values:
X1 X2 ... XN | S1 S2 ... SM | S1 ^ S2 ^...^ SM | (S1 ^...^ SM) => G -------------|--------------|------------------|----------------- F F ... F | | | F F ... T | | | ... | | | T T ... T | | |
P Q | P P => Q | P ^ (P => Q) | (P ^ (P => Q)) => Q ------|------------|--------------|-------------------- F F | F T | F | T F T | F T | F | T T F | T F | F | T T T | T T | T | TSince whenever P and P => Q are both true (last row only), Q is true too, Q is said to be derived from these two premise sentences. This local pattern referencing only two of the M sentences in KB is called the Modus Ponens inference rule. The truth table shows that this inference rule is sound. It specifies how to make one kind of step in deriving a conclusion sentence from a KB.
Therefore, given the sentences in KB, construct a proof that a given conclusion sentence can be derived from KB by applying a sequence of sound inferences using either sentences in KB or sentences derived earlier in the proof, until the conclusion sentence is derived. (Note: This step-by-step, local proof process also relies on the monotonicity property of PL and FOL. I.e., adding a new sentence to KB does not affect what can be entailed from the original KB and does not invalidate old sentences.)
Copyright © 1996-2003 by Charles R. Dyer. All rights reserved.