Open In App

Functional Completeness in Digital Logic

A set of operations is said to be functionally complete or universal if and only if every switching function can be expressed by means of operations in it. A set of Boolean functions is functionally complete, if all other Boolean functions can be constructed from this set and a set of input variables are provided, e.g.

Post’s Functional Completeness Theorem – Important closed classes of functions:



  1. T0 – class of all 0-preserving functions, such as f(0, 0, … , 0) = 0.
  2. T1 – class of all 1-preserving functions, such as f(1, 1, … , 1) = 1.
  3. S – class of self-dual functions, such as f(x1, … ,xn) = ¬ f(¬x1, … , ¬xn).
  4. M – class of monotonic functions, such as : {x1, … ,xn} ? {x1, … ,xn}, if xi ? yi if {x1, … ,xn} ? {x1, … ,xn} then f(x1, … ,xn) ? f(x1, … ,xn)
  5. L – class of linear functions, which can be presented as: f(x1, … ,xn) = a0 + a1·x1 + … + an·xn ; ai {0, 1}.

Theorem – A system of Boolean functions is functionally complete if and only if for each of the five defined classes T0, T1, S, M, L, there is a member of F which does not belong to that class. These are minimal functionally complete operator sets – One element – {?}, {?}. Two elements – [Tex]{\displaystyle \{\to ,\neg \}}, {\displaystyle \{\gets ,\neg \}},   [/Tex][Tex]{\displaystyle \{\to ,\nleftrightarrow \}}, {\displaystyle \{\gets ,\nleftrightarrow \}},   [/Tex][Tex]{\displaystyle \{\gets ,\nrightarrow \}}, {\displaystyle \{\gets ,\nleftarrow \}},   [/Tex][Tex]{\displaystyle \{\nrightarrow ,\top \}}, {\displaystyle \{\nleftarrow ,\top \}},   [/Tex]Three elements – [Tex]{\displaystyle \{\lor ,\leftrightarrow ,\nleftrightarrow \}},   [/Tex][Tex]{\displaystyle \{\land ,\leftrightarrow ,\bot \}},   [/Tex][Tex]{\displaystyle \{\land ,\nleftrightarrow ,\top \}}.   [/Tex]Examples on functional Completeness – 

Advantages of Functional Completeness:

Flexibility: A functionally complete set of logical operations can represent any boolean function, which makes it a flexible and powerful tool for digital logic design.
Efficiency: A functionally complete set of logical operations can be implemented using a small number of basic gates, which makes it an efficient and cost-effective approach for implementing digital circuits.
Universality: A functionally complete set of logical operations is universal, which means that it can be used in any application that requires digital logic design.
 



Disadvantages of Functional Completeness:

Complexity: Functionally complete sets of logical operations can be complex and difficult to understand, especially for beginners in digital logic design.
Limited Applicability: Functionally complete sets of logical operations may not be suitable for all digital logic design applications. Some applications may require specialized operations or functions that are not represented by functionally complete sets.
Non-Intuitiveness: Functionally complete sets of logical operations can be difficult to use and interpret because they are based on abstract mathematical concepts rather than intuitive concepts.


References – Post’s Functional Completeness Theorem Functional completeness – Wikipedia


Article Tags :