Post's functional completeness criterion #
A family of positive-arity Boolean operations generates every positive-arity Boolean function exactly when it is contained in none of the five classes: preserving false, preserving true, monotone, self-dual, and affine. This is [PM90], the theorem on printed p. 466. Families may be infinite and operation arities are unbounded. Constants are unary constant functions, as in the shared Schaefer clone API; no nullary gate is synthesized.
The affine class uses Cslib.BitString.IsAffine, preservation of sums of three points over
𝔽₂, equivalently a constant plus a parity of selected inputs. The source's "counting"
functions have exactly this meaning. NOT and constants follow the source's Lemmas 1–2,
pp. 466–467. The remainder is an original combination of the shared four-generator Boolean
clone classification with a binary affine-witness construction, followed by truth-table
normalization and disjunctive normal form. The full lattice of Boolean clones is not asserted.
Main definitions #
Cslib.Logic.BooleanClone.PostCriterion: a witness outside each of the five closed classes.
Main results #
Cslib.Logic.BooleanClone.isComplete_iff_postCriterion: the criterion for a Boolean clone.Cslib.Logic.BooleanClone.functionallyComplete_iff: Post's criterion for a generating family.
References #
- F. J. Pelletier and N. M. Martin, Post's Functional Completeness Theorem, printed pp. 466–469.
Enlarging the positive-arity generators preserves the five witnesses.
Substitute an available operation into unary negation.
Apply an available binary conjunction to two available operations.
Apply an available binary disjunction to two available operations.
A unary constant supplies the same constant at every positive arity.
Failure of preservation of both constants and of monotonicity generates NOT. This is Lemma 1 of [PM90], printed pp. 466–467.
NOT and failure of self-duality supply both unary constant functions. This is Lemma 2 of [PM90], printed p. 467.
Compose two operations with available XOR.
Any binary truth table of odd parity generates AND in the presence of NOT.
With XOR, NOT and constants, a failure of affinity gives an odd binary truth table, hence AND. This reduces an arbitrary-arity affine witness directly to its four square values.
The shared Schaefer classification supplies AND, using a non-affine witness to handle its minority branch.
NOT, AND and the unary constants generate every positive-arity Boolean operation. The construction is disjunctive normal form, with one conjunction per accepted assignment.
Post's five-class criterion for a positive-arity Boolean clone.
Post's functional completeness theorem. An arbitrary family of positive-arity Boolean operations is complete iff it has a witness outside each of the five closed classes. There is no finiteness or common-arity assumption on the family.