Analytic Tableaux
We next describe an elegant and efficient proof method for propositional logic that is based on an analysis of the logical structure of a given formula.
The analysis is based on the following observations about the semantics of the logical connectives:
Tableaux
A tableau is a binary tree labeled by signed formulas,
that is, expressions of the form or
,
where
is a propositional formula.
A signed formula is interpreted as stating that
is true,
while
is interpreted as stating that
is false.
We know that a formula is a tautology if, and only if,
its negation
is a contradiction.
The method of tableaux consists of constructing a binary tree, starting with
a signed formula and using tree expansion rules derived
from the above observations,
in an attempt to falsify
, i.e., find a truth assignment
that makes
false.
If the attempt to falsify fails,
the formula
is a tautology;
otherwise a truth assignment falsifying
can be extracted from the tableau.
Tableau Construction Rules
Tableaux are constructed by expanding a branch that contains a signed formula by adding new nodes as children to the leaf of the branch, according to the following ``tree expansion'' rules.
A branch of a tableau can be closed
if it contains two nodes labeled by
and
, respectively.
Example
(1)![]()
(2)
(1)
(3)
(1)\+
(4)
(2)\+
(6)
(3)
mm¯ (7)
(3)\+
(10)
(6)\+
(12)
(7)
[branch closed, 10 & 12]
(11)
(6)\+
(13)
(7)
[branch closed, 4 & 13]
(5)
(2)\+
(8)
(3)
(9)
(3)\+
(14)
(5)\+
(16)
(8)\+
(20)
(9)
[branch closed, 16 & 20]
(17)
(8)\+
[branch closed, 14 & 8]
(15)
(5)\+
(18)
(8)\+
(21)
(9)
[branch closed, 18 & 21]
(19)
(8)\+
(22)
(9)
(23)
(9)
[branch closed, 15 & 23]
Indentation indicates tree structure.
Signed formulas are numbered in the order in which they are generated. The label to the right of a formula indicates from which node it was obtained. (Which rule was applied is uniquely determined by the formula in question.)
Note that once a rule has been applied to a signed formula it need not be reapplied along the same branch.
In the example above, tableau construction rules were applied systematically in a top-down fashion. That is, a rule was applied to a node only when all its ancestors (in the tree) had been processed.
A different strategy is to give preference to rules that do not split a branch. A corresponding tableau is shown below.
Example: Different Strategy for Tableau Construction
(1)![]()
(2)
(1)
(3)
(1)
(4)
(3)
(5)
(3)
(6)
(5)
(7)
(5)\+
(8)
(2)\+
[branch closed, 6 & 8]
(9)
(2)\+
(10)
(4)\+
[branch closed, 6 & 10]
(11)
(4)\+
(12)
(9)\+
[branch closed, 11 & 12]
(13)
(9)\+
[branch closed, 7 & 13]
Extraction of Truth Assignments from Tableaux
If a branch of a tableau can neither be closed
nor expanded by any new signed formulas,
then a truth assignment can be extracted
under which the initial formula at the root of the tree is false.
Consider the following (partially constructed) tableau:
(1)![]()
(2)
(1)
(3)
(1)\+
(4)
(2)\+
(6)
(3)\+
[branch closed, 4 & 6]
(7)
(3)\+
[branch done]
(5)
(2)\+
[ ...]
The branch from the root (1) to leaf (7) has been fully expanded, in that no expansion along this branch will introduce new formulas.
From this branch we can extract a truth assignment -
assigning T to p according to (4)
and F to q according to (7) -
under which the initial formula
is false.
The formula is therefore not a tautology.
Example
The following (15-node) tableau shows that
is a tautology:
(1)![]()
(2)
(1)
(3)
(1)
(4)
(3)
(5)
(3)
(6)
(5)
(7)
(5)
(8)
(7)
(9)
(7)\+
(10)
(2)\+
[branch closed, 6 & 10]
(11)
(2)\+
(12)
(4)\+
[branch closed, 8 & 12]
(13)
(4)\+
(14)
(11)\+
[branch closed, 13 & 14]
(15)
(11)\+
[branch closed, 9 & 15]
A truth table for the given formula would consist of 16 lines (as the formula contains 4 variables), but each line depends on 7 non-trivial subformulas, so that a total of 7*16=112 evaluations may be required for the complete truth table.