What is a Functionally Complete Set?
Definition1
Let’s assume that a set of Boolean functions is given. is a finite set. If any Boolean function
can be expressed by the compositions of , then the set is called functionally complete.
Theorem
The set of gates and gates is functionally complete.
Explanation
In other words, all Boolean functions can be made by repetitions of and . There are infinitely many sets that are functionally complete, which are not unique. For instance, because , 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 gates and 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 gates and gates.
- implemented in circuits using only gates and duplication functions.
- implemented in circuits using only 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 is functionally complete, such a is called a universal gate. A universal gate can express all Boolean functions by itself. , , , are universal gates.
Kim Young-Hoon and Heo Jae-Seong, Quantum Information Theory (2020), p88 ↩︎