logo

What is a Functionally Complete Set?

What is a Functionally Complete Set?

Definition1

Let’s assume that a set of Boolean functions {fk}={fk:{0,1}nk{0,1}}kΓ\left\{ f_{k} \right\} = \left\{ f_{k} : \left\{ 0, 1 \right\}^{n_{k}} \to \left\{ 0, 1 \right\} \right\}_{k\in \Gamma} is given. Γ\Gamma is a finite set. If any Boolean function

{0,1}n{0,1}(nN) \left\{ 0, 1 \right\}^{n} \to \left\{ 0, 1 \right\}\quad (n \in \mathbb{N})

can be expressed by the compositions of {fk}\left\{ f_{k} \right\}, then the set {fk}\left\{ f_{k} \right\} is called functionally complete.

Theorem

The set of NOT\text{NOT} gates and AND\text{AND} gates {¬,}\left\{ \lnot, \land \right\} is functionally complete.

Explanation

In other words, all Boolean functions can be made by repetitions of NOT\text{NOT} and AND\text{AND}. There are infinitely many sets that are functionally complete, which are not unique. For instance, because ab=¬(¬a¬b)a \land b = \lnot(\lnot a \lor \lnot b), {¬,}\left\{ \lnot, \lor \right\} is also a functionally complete set. From this theorem, it can be proven that a set is functionally complete if it can be shown to produce both AND\text{AND} gates and NOT\text{NOT} gates.

Examples of functionally complete sets:

Of course, there are cases where a duplication function is needed. If these results are described in the language of computer circuits, it can be stated as follows. All logical operations can be:

  • implemented in circuits using only NOT\text{NOT} gates and AND\text{AND} gates.
  • implemented in circuits using only NAND\text{NAND} gates and duplication functions.
  • implemented in circuits using only NOR\text{NOR} gates and duplication functions.
  • implemented in circuits using only Toffoli gates.
  • implemented in circuits using only Fredkin gates.

Universal Gates

Especially, when a set composed solely of itself {f}\left\{ f \right\} is functionally complete, such a ff is called a universal gate. A universal gate can express all Boolean functions by itself. NAND\text{NAND}, NOR\text{NOR}, TT, FF are universal gates.


  1. Kim Young-Hoon and Heo Jae-Seong, Quantum Information Theory (2020), p88 ↩︎