Variables, Truth Table, Resolution and Expansion

Author: Wolfgang Scherer

Contents

Variables

In the context of a satoku matrix, boolean variables appear as clause sub-matrixes with 2 selection rows, where one selection row represents the unnegated variable and the other selection row represents the negated variable. The clause sub-matrix of a variable therefore represents the clause (p∨¬p) .

000-variables.png

Representation of variables in a satoku matrix

Since a clause sub-matrix represents possible selections and their dependencies, the variable representation is consistent with the axioms of logic.

Truth Table

An unrestricted truth table for n variables appears as a clause sub-matrix with 2n selection rows. Each selection row represents one of the possible conjunctions of the variables.

Unrestricted Truth Table for 4 Variables

002-truth-table.png

Unrestricted Truth Table for 4 Variables

The unrestricted truth table for 4 variables can therefore be interpreted as representation of a disjunction of all possible conjunctions for 4 variables:

(
  ( ¬p ∧ ¬q ∧ ¬r ∧ ¬s ) ∨ ( ¬p ∧ ¬q ∧ ¬r ∧  s ) ∨ ( ¬p ∧ ¬q ∧  r ∧ ¬s ) ∨ ( ¬p ∧ ¬q ∧  r ∧  s ) ∨
  ( ¬p ∧  q ∧ ¬r ∧ ¬s ) ∨ ( ¬p ∧  q ∧ ¬r ∧  s ) ∨ ( ¬p ∧  q ∧  r ∧ ¬s ) ∨ ( ¬p ∧  q ∧  r ∧  s ) ∨
  (  p ∧ ¬q ∧ ¬r ∧ ¬s ) ∨ (  p ∧ ¬q ∧ ¬r ∧  s ) ∨ (  p ∧ ¬q ∧  r ∧ ¬s ) ∨ (  p ∧ ¬q ∧  r ∧  s ) ∨
  (  p ∧  q ∧ ¬r ∧ ¬s ) ∨ (  p ∧  q ∧ ¬r ∧  s ) ∨ (  p ∧  q ∧  r ∧ ¬s ) ∨ (  p ∧  q ∧  r ∧  s )
)

Mapping Logical Functions from a Truth Table

The following examples for mapping a disjunction and a conjunction of 4 variables as well as an arbitrarily defined function F, are used to illustrate the mapping options.

p q r s p ∨ q ∨ r ∨ s p ∧ q ∧ r ∧ s F
0 0 0 0 0 0 0
0 0 0 1 1 0 1
0 0 1 0 1 0 1
0 0 1 1 1 0 0
0 1 0 0 1 0 0
0 1 0 1 1 0 0
0 1 1 0 1 0 1
0 1 1 1 1 0 0
1 0 0 0 1 0 0
1 0 0 1 1 0 0
1 0 1 0 1 0 1
1 0 1 1 1 0 1
1 1 0 0 1 0 1
1 1 0 1 1 0 0
1 1 1 0 1 0 0
1 1 1 1 1 1 0

Disable Selection in Unrestricted Truth Table

If the result of a logical function in a truth table row is 0, the corresponding selection in the unrestricted truth table clause of the satoku matrix is made impossible. I.e., the entire selection row is filled with zeroes.

Map disjunction of 4 variables

005-truth-table-map-disjunction.png

Map disjunction of 4 variables

Map conjunction of 4 variables

006-truth-table-map-conjunction.png

Map conjunction of 4 variables

Map arbitrary function F over 4 variables

007-truth-table-map-F.png

Map arbitrary function F over 4 variables

Construct Possible Selections

Instead of disabling selection rows in an unrestricted truth table clause, it is sufficient to construct a clause with the possible selections directly.

For function F, the clause is:

(
  ( ¬p ∧ ¬q ∧ ¬r ∧  s ) ∨
  ( ¬p ∧ ¬q ∧  r ∧ ¬s ) ∨
  ( ¬p ∧  q ∧  r ∧ ¬s ) ∨
  (  p ∧ ¬q ∧  r ∧ ¬s ) ∨
  (  p ∧ ¬q ∧  r ∧  s ) ∨
  (  p ∧  q ∧ ¬r ∧ ¬s )
)

which maps to:

010-direct-map-F.png

Map arbitrary function F over 4 variables directly

Add Constraints for Invalid Selections

The rows with a result of 0 can also be added as clauses. The corresponding conjunction of variables is negated and added as disjunctive clause.

For the disjunction example, the constraint is:

( ¬p ∧ ¬q ∧ ¬r ∧ ¬s ) = F

which is negated:

¬( ¬p ∧ ¬q ∧ ¬r ∧ ¬s ) = T

and converted to a disjunctive clause:

( p ∨ q ∨ r ∨ s ) = T

Map the constraint clause into the satoku matrix by adding requests for the variables of the disjunctive clause:

015-truth-table-constraint-disjunction-000.png

Add constraint requests for disjunction

Updating requirements for the disjunctive constraint, disables selection row s40 :

015-truth-table-constraint-disjunction-001.png

Updating requirements for disjunctive constraint disables s40

The constraints for function F are:

(  p ∨  q ∨  r ∨  s ) ∧
(  p ∨  q ∨ ¬r ∨ ¬s ) ∧
(  p ∨ ¬q ∨  r ∨  s ) ∧
(  p ∨ ¬q ∨  r ∨ ¬s ) ∧
(  p ∨ ¬q ∨ ¬r ∨ ¬s ) ∧
( ¬p ∨  q ∨  r ∨  s ) ∧
( ¬p ∨  q ∨  r ∨ ¬s ) ∧
( ¬p ∨ ¬q ∨  r ∨ ¬s ) ∧
( ¬p ∨ ¬q ∨ ¬r ∨  s ) ∧
( ¬p ∨ ¬q ∨ ¬r ∨ ¬s )

Add constraint requests for function F

016-truth-table-constraint-F-000.png

Add constraint requests for function F

Updating requirements for disjunctive constraints of function F disables selections in unrestricted truth table

016-truth-table-constraint-F-001.png

Updating requirements for disjunctive constraints of function F disables selections in unrestricted truth table

Mapping Constraints Directly

As with the clause of possible selections, the constraint clauses can be mapped directly without the unrestricted truth table. This is equivalent to mapping a CNF problem to a satoku matrix:

016-truth-table-constraint-F.r.v-000.png

Map contraints of function F directly

Mapping the contraints of function F with conflict maximization, delivers the satoku matrix:

016-truth-table-constraint-F.c.v-000.png

Map contraints of function F with conflict maximization

After removing impossible selections and redundancies, the satoku matrix presents as:

016-truth-table-constraint-F.c.v-001.png

Contraints of function F cleaned up

Distributive expansion shows, that the solution set is equivalent to the truth table clause for function F above:

016-truth-table-constraint-F.c.v-002.png

Distributive expansion for constraints of function F

Resolution and Expansion

Disjunctive resolution is derived from:

(p ∧ q ∧ r) ∨ (p ∧ q ∧ ¬r)

= ((p ∧ q ∧ r) ∨ p) ∧ ((p ∧ q ∧ r) ∨ q) ∧ ((p ∧ q ∧ r) ∨ ¬r)

= p ∧ q ∧ (p ∨ ¬r) ∧ (q ∨ ¬r) ∧ (r ∨ ¬r)

= p ∧ q

Disjunctive resolution is denoted here as sijsfg .

By applying pair-wise resolution consecutively to the truth table clause of a 4 variable disjunction S4 , clause sub-matrix S7 can be derived:

020-resolution-pairwise.png

Continuous pair-wise resolution

Disjunctive expansion is based on:

(p ∧ q) ∨ (p ∧ q ∧ r) = (p ∧ q)

It is therefore allowed to add longer conjunctions to a disjunctive clause.

Applying disjunctive expansion and disjunctive resolution to clause S5 (the result from the previous reduction) allows deriviation of the minimal clause sub-matrix S11 :

021-resolution-expansion.png

Expansion and resolution for derviation of minimal clause sub-matrix S11 .

Copyright

Copyright (C) 2013, Wolfgang Scherer, <Wolfgang.Scherer@gmx.de>. See the document source for conditions of use under the GNU Free Documentation License.