Expressively complete boolean functions

Joseph S. Myers jsm at polyomino.org.uk
Sat Dec 16 20:13:42 CET 2006


On Sat, 16 Dec 2006, Gabriel Cunningham wrote:

> A set S of boolean functions is said to be expressively complete if every
> boolean function (in any number of variables) can be written in terms of the
> members of S. For instance, the set {AND, NOT} is expressively complete, as
> is the single-member set {NAND}. We'll call a boolean function expressively
> complete if the set containing only that function is expressively complete.

The characterisation of complete sets is Post's functional completeness 
theorem: a complete set is one that, for each of the following five 
classes of functions (each of which is clearly closed under composition), 
contains a function not in that set (these may all be the same function).

(1) Functions with f(1, 1, ..., 1) = 1.

(2) Functions with f(0, 0, ..., 0) = 0.

(3) Functions which depend only on the parity of the number of 1s in some 
subset of their inputs (such as (a XOR b XOR c) or NOT(a XOR c)).

(4) Monotone functions (functions such that if f(a, b, c) = 1, a <= A, b 
<= B and c <= C, then f(A, B, C) = 1; this is equivalent to functions that 
can be formed from 0, 1, AND and OR).

(5) Functions such that f(a, b, c) = NOT f(NOT a, NOT b, NOT c) for all 
inputs.

-- 
Joseph S. Myers
jsm at polyomino.org.uk






More information about the SeqFan mailing list