Math 2.0

Order, lattices, ordered algebraic structures Theorem

Post's functional completeness theorem

Builds on Functional completenessBoolean functionMonotone function

Statement

Let FF be a set of Boolean functions, that is, of operations on {0,1}\set{0, 1} of arity at least 11. Then FF is functionally complete if and only if FF has the following five properties.

  1. Some f∈Ff \in F does not preserve 00, that is, f(0,…,0)=1f(0, \dots, 0) = 1.
  2. Some f∈Ff \in F does not preserve 11, that is, f(1,…,1)=0f(1, \dots, 1) = 0.
  3. Some f∈Ff \in F is not monotone for the order 0≤10 \le 1 applied coordinatewise.
  4. Some f∈Ff \in F is not self-dual, where ff is self-dual if f(¬x1,…,¬xn)=¬f(x1,…,xn)f(\neg x_1, \dots, \neg x_n) = \neg f(x_1, \dots, x_n) for all inputs.
  5. Some f∈Ff \in F is not affine, where ff is affine if f(x1,…,xn)=c0+c1x1+⋯+cnxnf(x_1, \dots, x_n) = c_0 + c_1 x_1 + \cdots + c_n x_n modulo 22 for some ci∈{0,1}c_i \in \set{0, 1}.

Remarks

Each of the five classes is a clone and does not contain all Boolean functions, so a complete FF cannot lie inside one of them. The converse is the real content: these five clones are the maximal clones of Post's lattice. One can also prove it directly by building ¬\neg and the constants from the functions that escape the first four classes, and then ∧\wedge from a non-affine function. Example: the NAND operation x↑y=¬(x∧y)x \uparrow y = \neg(x \wedge y) maps (0,0)(0, 0) to 11 and (1,1)(1, 1) to 00. It is not monotone, since 0↑0=1>0=1↑10 \uparrow 0 = 1 > 0 = 1 \uparrow 1, it is not self-dual, since 0↑1=1=1↑00 \uparrow 1 = 1 = 1 \uparrow 0, and it is not affine. So {↑}\set{\uparrow} is functionally complete.

Going deeper

For a student

The result comes from Emil Post's study of the lattice of clones on {0,1}\set{0, 1}. It is the two-element case of a general picture: a set of operations on a finite set is complete exactly when it is contained in no maximal clone. For larger finite sets the maximal clones are listed by Rosenberg's classification, and the analogue of the theorem has more cases. It explains at once why {∧,∨}\set{\wedge, \vee} and {∧,∨,→}\set{\wedge, \vee, \to} are not complete, while {→,0}\set{\to, 0} is, with 00 read as a constant unary function.

Reading path

To understand this page from the ground up, read these 4 pages in order. The foundations come first.

Show the path as a graph
Each page uses the pages above it. The colour of the bar on a box shows how strong the evidence is, and the box also gives it as text. The list has the same pages.
  • no evidence level
  1. Boolean function concept
  2. Functional completeness concept
  3. Monotone function concept
  4. Post's functional completeness theorem statement

Further reading

  1. Web https://en.wikipedia.org/wiki/Functional_completeness
About this page
TagWGBR7JHBV4
URIm2://WGBR7JHBV4
Kindstatement, theorem
WritingW0 stub
MSC06E30, 08A40, 03B05
StatusThis copy of the site has no build data. Run m2 status WGBR7JHBV4.
AboutFunctional completeness
UsesFunctional completeness, Boolean function, Monotone function

Markdown · JSON · Edit on GitHub

What this page needs for W1

  • an inventory row: the row of the inventory that the node accounts for (0 of 1)
  • a source with a locator (0 of 1)

The writing levels say how complete the text of a page is. They do not measure its truth.

What links here

No page links to this page yet.