Functional completeness
≈ 3 min read
Names in other languages
No names in other languages are held for this entry yet.
Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.
In logic, a functionally complete set of logical connectives or Boolean operators is one that can be used to express all possible truth tables by combining members of the set into a Boolean expression. A well-known complete set of connectives is . Each of the singleton sets and is functionally complete. However, the set is incomplete, due to its inability to express NOT. A gate (or set of gates) that is functionally complete can also be called a universal gate (or a universal set of gates). In a context of propositional logic, functionally complete sets of connectives are also called (expressively) adequate. From the point of view of digital electronics, functional completeness means that every possible logic gate can be realized as a network of gates of the types prescribed by the set. In particular, all logic gates can be assembled from either only binary NAND gates, or only binary NOR gates.
In logic, a functionally complete set of logical connectives or Boolean operators is one that can be used to express all possible truth tables by combining members of the set into a Boolean expression. A well-known complete set of connectives is . Each of the singleton sets and is functionally complete. However, the set is incomplete, due to its inability to express NOT. A gate (or set of gates) that is functionally complete can also be called a universal gate (or a universal set of gates). In a context of propositional logic, functionally complete sets of connectives are also called (expressively) adequate. From the point of view of digital electronics, functional completeness means that every possible logic gate can be realized as a network of gates of the types prescribed by the set. In particular, all logic gates can be assembled from either only binary NAND gates, or only binary NOR gates. A \downarrow B := \neg A \land \neg B Similarly, the negation of the conjunction, NAND (sometimes denoted as \uparrow ), can be defined in terms of disjunction and negation. Every binary connective can be defined in terms of \{ \neg, \land, \lor, \to, \leftrightarrow \} , which means that set is functionally complete. However, it contains redundancy: this set is not a minimal functionally complete set, because the conditional and biconditional can be defined in terms of the other connectives as \begin{align} A \to B &:= \neg A \lor B\\ A \leftrightarrow B &:= (A \to B) \land (B \to A). \end{align} It follows that the smaller set \{\neg, \land, \lor\} is also functionally complete. (Its functional completeness is also proved by the Disjunctive Normal Form Theorem.) But this is still not minimal, as \lor can be defined as A \lor B := \neg(\neg A \land \neg B). Alternatively, \land may be defined in terms of \lor in a similar manner, or \lor may be defined in terms of \rightarrow : \ A \vee B := \neg A \rightarrow B. No further simplifications are possible. Hence, every two-element set of connectives containing \neg and one of \{\land, \lor, \rightarrow\} is a minimal functionally complete subset of \{\neg, \land, \lor, \to, \leftrightarrow\} .
Text derived from https://en.wikipedia.org/w/index.php?oldid=1368622985 under CC BY-SA 4.0; modifications have been made.