next up previous
Next: About this document Up: My Home Page

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:

    1. If tex2html_wrap_inline255 is true, then tex2html_wrap_inline257 is false.
    2. If tex2html_wrap_inline259 is false, then tex2html_wrap_inline261 is true.
    1. If tex2html_wrap_inline263 is true, then tex2html_wrap_inline265 and tex2html_wrap_inline267 are both true.
    2. If tex2html_wrap_inline269 is false, then at least one of tex2html_wrap_inline271 and tex2html_wrap_inline273 is false.
    1. If tex2html_wrap_inline275 is true, then at least one of tex2html_wrap_inline277 and tex2html_wrap_inline279 is true.
    2. If tex2html_wrap_inline281 is false, then tex2html_wrap_inline283 and tex2html_wrap_inline285 are both false.
    1. If tex2html_wrap_inline287 is true, then tex2html_wrap_inline289 is false or tex2html_wrap_inline291 is true.
    2. If tex2html_wrap_inline293 is false, then tex2html_wrap_inline295 is true and tex2html_wrap_inline297 is false.

Tableaux

A tableau is a binary tree labeled by signed formulas, that is, expressions of the form tex2html_wrap_inline299 or tex2html_wrap_inline301 , where tex2html_wrap_inline303 is a propositional formula.

A signed formula tex2html_wrap_inline305 is interpreted as stating that tex2html_wrap_inline307 is true, while tex2html_wrap_inline309 is interpreted as stating that tex2html_wrap_inline311 is false.

We know that a formula tex2html_wrap_inline313 is a tautology if, and only if, its negation tex2html_wrap_inline315 is a contradiction.

The method of tableaux consists of constructing a binary tree, starting with a signed formula tex2html_wrap_inline317 and using tree expansion rules derived from the above observations, in an attempt to falsify tex2html_wrap_inline319 , i.e., find a truth assignment that makes tex2html_wrap_inline321 false.

If the attempt to falsify tex2html_wrap_inline323 fails, the formula tex2html_wrap_inline325 is a tautology; otherwise a truth assignment falsifying tex2html_wrap_inline327 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.

    1. If a branch contains a formula tex2html_wrap_inline329 , add a new leaf tex2html_wrap_inline331 .
    2. If a branch contains a formula tex2html_wrap_inline333 , add a new leaf tex2html_wrap_inline335 .
    1. If a branch contains tex2html_wrap_inline337 , successively add new nodes tex2html_wrap_inline339 and tex2html_wrap_inline341 to this branch.
    2. If a branch contains tex2html_wrap_inline343 , add two children, tex2html_wrap_inline345 and tex2html_wrap_inline347 , respectively, to the leaf. (Thus the branch will be split into two expanded branches.)
    1. If a branch contains tex2html_wrap_inline349 , add two children, tex2html_wrap_inline351 and tex2html_wrap_inline353 .
    2. If a branch contains tex2html_wrap_inline355 , successively add new nodes tex2html_wrap_inline357 and tex2html_wrap_inline359 to the same branch.
    1. If a branch contains tex2html_wrap_inline361 , add two children, tex2html_wrap_inline363 and tex2html_wrap_inline365 .
    2. If a branch contains tex2html_wrap_inline367 , successively add new nodes tex2html_wrap_inline369 and tex2html_wrap_inline371 to the same branch.

A branch of a tableau can be closed if it contains two nodes labeled by tex2html_wrap_inline373 and tex2html_wrap_inline375 , respectively.

Example

 
(1)  tex2html_wrap_inline377 

(2) tex2html_wrap_inline379 (1)

(3) tex2html_wrap_inline381 (1)\+

tex2html_wrap_inline383 (4) tex2html_wrap_inline385 (2)\+

(6) tex2html_wrap_inline387 (3)

mm¯ (7) tex2html_wrap_inline389 (3)\+

tex2html_wrap_inline391 (10) tex2html_wrap_inline393 (6)\+

(12) tex2html_wrap_inline395 (7)

[branch closed, 10 & 12]

tex2html_wrap_inline397 (11) tex2html_wrap_inline399 (6)\+

(13) tex2html_wrap_inline401 (7)

[branch closed, 4 & 13]

tex2html_wrap_inline403 (5) tex2html_wrap_inline405 (2)\+

(8) tex2html_wrap_inline407 (3)

(9) tex2html_wrap_inline409 (3)\+

tex2html_wrap_inline411 (14) tex2html_wrap_inline413 (5)\+

tex2html_wrap_inline415 (16) tex2html_wrap_inline417 (8)\+

(20) tex2html_wrap_inline419 (9)

[branch closed, 16 & 20]

tex2html_wrap_inline421 (17) tex2html_wrap_inline423 (8)\+

[branch closed, 14 & 8]

tex2html_wrap_inline425 (15) tex2html_wrap_inline427 (5)\+

tex2html_wrap_inline429 (18) tex2html_wrap_inline431 (8)\+

(21) tex2html_wrap_inline433 (9)

[branch closed, 18 & 21]

tex2html_wrap_inline435 (19) tex2html_wrap_inline437 (8)\+

(22) tex2html_wrap_inline439 (9)

(23) tex2html_wrap_inline441 (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)  tex2html_wrap_inline443 

(2) tex2html_wrap_inline445 (1)

(3) tex2html_wrap_inline447 (1)

(4) tex2html_wrap_inline449 (3)

(5) tex2html_wrap_inline451 (3)

(6) tex2html_wrap_inline453 (5)

(7) tex2html_wrap_inline455 (5)\+

tex2html_wrap_inline457 (8) tex2html_wrap_inline459 (2)\+

[branch closed, 6 & 8]

tex2html_wrap_inline461 (9) tex2html_wrap_inline463 (2)\+

tex2html_wrap_inline465 (10) tex2html_wrap_inline467 (4)\+

[branch closed, 6 & 10]

tex2html_wrap_inline469 (11) tex2html_wrap_inline471 (4)\+

tex2html_wrap_inline473 (12) tex2html_wrap_inline475 (9)\+

[branch closed, 11 & 12]

tex2html_wrap_inline477 (13) tex2html_wrap_inline479 (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 tex2html_wrap_inline481 at the root of the tree is false.

Consider the following (partially constructed) tableau:

 
(1)  tex2html_wrap_inline483 

(2) tex2html_wrap_inline485 (1)

(3) tex2html_wrap_inline487 (1)\+

tex2html_wrap_inline489 (4) tex2html_wrap_inline491 (2)\+

tex2html_wrap_inline493 (6) tex2html_wrap_inline495 (3)\+

[branch closed, 4 & 6]

tex2html_wrap_inline497 (7) tex2html_wrap_inline499 (3)\+

[branch done]

tex2html_wrap_inline501 (5) tex2html_wrap_inline503 (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 tex2html_wrap_inline513 is false. The formula is therefore not a tautology.

Example

The following (15-node) tableau shows that

displaymath253

is a tautology:

 
(1)  tex2html_wrap_inline515 

(2) tex2html_wrap_inline517 (1)

(3) tex2html_wrap_inline519 (1)

(4) tex2html_wrap_inline521 (3)

(5) tex2html_wrap_inline523 (3)

(6) tex2html_wrap_inline525 (5)

(7) tex2html_wrap_inline527 (5)

(8) tex2html_wrap_inline529 (7)

(9) tex2html_wrap_inline531 (7)\+

tex2html_wrap_inline533 (10) tex2html_wrap_inline535 (2)\+

[branch closed, 6 & 10]

tex2html_wrap_inline537 (11) tex2html_wrap_inline539 (2)\+

tex2html_wrap_inline541 (12) tex2html_wrap_inline543 (4)\+

[branch closed, 8 & 12]

tex2html_wrap_inline545 (13) tex2html_wrap_inline547 (4)\+

tex2html_wrap_inline549 (14) tex2html_wrap_inline551 (11)\+

[branch closed, 13 & 14]

tex2html_wrap_inline553 (15) tex2html_wrap_inline555 (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.




next up previous
Next: About this document Up: My Home Page

Steve Skiena
Tue Aug 24 15:32:11 EDT 1999