We have seen circuits that use the gates , but we can design circuits using arbitrary gate types.

Definition

A basis is a set of Boolean function (‘connectives’). We say that is complete if every Boolean function is computed by an expression/formula formed from variables and elements of .

Example

  • Some complete bases:
  • Some non-complete bases:

Example: some (in) completeness arguments

is not complete

To prove is not complete, we need to show that cannot be expressed.
We prove by structural induction that any formula built only using and evaluates to when all inputs are

Base Case

A formula consisting of a single variable satisfies

Induction Hypothesis

Assume formulas and satisfy

Induction Step

If then:

If then:

Hence every formula using only has output on the all-zero input.
But negation does not satisfy this:

Therefore cannot be expressed using only so is not functionally complete.