Skip to main content

3.3 Duality, Neutral Functions & Self-Dual Logic

📚Module 03: Boolean Expressions & Canonical FormsTopic 3.3⏱️16 min read
🎯High-Yield For:University Semester Exams • Hardware Engineering Rounds • Foundational Computing

💡 Core Intuition: The Photographic Negative vs. The Mirror Image​

When transforming an image, a digital artist can apply two completely different mathematical operations:

🍳 The Everyday Analogy: Inversion vs. Symmetry​

  • The Photographic Negative (Complementation f′f'): Every white pixel turns black, and every black pixel turns white. The content is inverted: active becomes inactive, and foreground swaps with background (0↔10 \leftrightarrow 1, and all variables are complemented).
  • The Mirror Universe (Duality fDf^D): The physical rules governing interactions swap (push becomes pull, conjunction becomes disjunction, AND swaps with OR, 00 swaps with 11), but the objects themselves (the input variables A,B,CA, B, C) keep their physical identities intact!
  • The Self-Dual Entity (f=fDf = f^D): Imagine a symmetric geometric crystal that looks completely unchanged when viewed in this mirror universe. In digital systems, a self-dual function is an expression that yields the exact same logical behavior whether operating in a positive-voltage convention or a negative-voltage convention.

💻 Bridging to Computer Science​

In electronic design:

  1. Duality is the mathematical bridge between Positive Logic (where High Voltage =1= 1 and Low Voltage =0= 0) and Negative Logic (where High Voltage =0= 0 and Low Voltage =1= 1). A physical semiconductor gate that executes AND in positive logic automatically executes OR in negative logic.
  2. Self-Dual Logic is the cornerstone of fault-tolerant computing, such as aerospace Triple Modular Redundancy (TMR), and governs the topological duality between PMOS pull-up networks and NMOS pull-down networks in CMOS integrated circuits.

Understanding duality and self-duality allows hardware engineers to verify circuit symmetries and solve high-speed switching problems without brute-force truth tables.



📜 The Principle of Duality: Formal Definition & Mechanics​

📖Definition 3.3: Dual Functiondefinition

Let f(x1,x2,…,xn,+,⋅,0,1)f(x_1, x_2, \dots, x_n, +, \cdot, 0, 1) be a Boolean switching function. The dual function, denoted as fDf^D, is obtained by:

  1. Replacing every OR (++) operator with an AND (⋅\cdot) operator.
  2. Replacing every AND (⋅\cdot) operator with an OR (++) operator.
  3. Replacing every logic constant 0 with 1, and every 1 with 0.
  4. Leaving all input variables and literals completely unchanged (an uncomplemented variable remains uncomplemented; a complemented variable remains complemented).
fD(x1,x2,…,xn,+,⋅,0,1)=f(x1,x2,…,xn,⋅,+,1,0)f^D(x_1, x_2, \dots, x_n, +, \cdot, 0, 1) = f(x_1, x_2, \dots, x_n, \cdot, +, 1, 0)
📐Theorem 3.6: The Principle of Dualitytheorem

If any Boolean identity or algebraic equation is valid, then its dual identity obtained by replacing all (+,⋅)(+, \cdot) and (0,1)(0, 1) is also strictly valid:

If Φ=Ψ  ⟹  ΦD=ΨD\text{If } \Phi = \Psi \implies \Phi^D = \Psi^D

Step-by-Step Operator Transformation Table​

Original Element (Φ\Phi)Dual Element (ΦD\Phi^D)Complement Element (Φ′\Phi')
Logical OR (++)Logical AND (⋅\cdot)Logical AND (⋅\cdot)
Logical AND (⋅\cdot)Logical OR (++)Logical OR (++)
Logic Constant 00Logic Constant 11Logic Constant 11
Logic Constant 11Logic Constant 00Logic Constant 00
Variable AAVariable AA (Unchanged)Literal Aˉ\bar{A} (Inverted)
Complemented Literal Aˉ\bar{A}Literal Aˉ\bar{A} (Unchanged)Variable AA (Inverted)

Duality of Fundamental Logic Gates​

Physical CMOS gates exhibit natural duality when operating across voltage conventions:

  • Dual of AND gate (AB)=(A+B)  ⟹  OR gate\text{Dual of AND gate } (AB) = (A + B) \implies \text{OR gate}
  • Dual of OR gate (A+B)=(AB)  ⟹  AND gate\text{Dual of OR gate } (A + B) = (AB) \implies \text{AND gate}
  • Dual of NAND gate (AB)′=(Aˉ+Bˉ)  ⟹  AˉBˉ=(A+B)′  ⟹  NOR gate\text{Dual of NAND gate } (AB)' = (\bar{A} + \bar{B}) \implies \bar{A}\bar{B} = (A + B)' \implies \text{NOR gate}
  • Dual of NOR gate (A+B)′=(AˉBˉ)  ⟹  Aˉ+Bˉ=(AB)′  ⟹  NAND gate\text{Dual of NOR gate } (A + B)' = (\bar{A}\bar{B}) \implies \bar{A} + \bar{B} = (AB)' \implies \text{NAND gate}
  • Dual of XOR gate (A⊕B)=(A⊙B)  ⟹  XNOR gate\text{Dual of XOR gate } (A \oplus B) = (A \odot B) \implies \text{XNOR gate}
  • Dual of XNOR gate (A⊙B)=(A⊕B)  ⟹  XOR gate\text{Dual of XNOR gate } (A \odot B) = (A \oplus B) \implies \text{XOR gate}

⚖️ Complementation vs. Duality: The Mathematical Bridge​

A frequent source of confusion is the distinction between taking the complement (f′f') and taking the dual (fDf^D) of a function.

Complementation vs. Duality in Boolean Logic

Contrasting the mathematical operations and physical circuit implications

Complementation (f')

Boolean Complement

🔄
Dominant Architecture / DomainLogic Value Inversion
  • •Swaps + with ·, 0 with 1, AND inverts every single literal (A → A').
  • •Directly inverts the truth table output: every 1 becomes 0, every 0 becomes 1.
  • •Realized physically by adding an inverter (NOT gate) to the output.
  • •f' = fᴰ(A', B', C', ...).
"Every single state and literal is turned inside out."
Duality (fᴰ)

Boolean Dual

🪞
Dominant Architecture / DomainVoltage System Transformation
  • •Swaps + with ·, 0 with 1, but keeps all variables UNCHANGED.
  • •Transforms a Positive-Logic circuit into a Negative-Logic circuit.
  • •Does NOT simply invert output bits in the truth table.
  • •fᴰ = (f(A', B', C', ...))'.
"The relational laws swap, but the entities remain themselves."
📐Theorem 3.7: The Bridge Between Dual and Complementtheorem

The complement of a Boolean function f(x1,x2,…,xn)f(x_1, x_2, \dots, x_n) is identically equal to the dual of the function evaluated on the complemented variables:

f′(x1,x2,…,xn)=fD(xˉ1,xˉ2,…,xˉn)f'(x_1, x_2, \dots, x_n) = f^D(\bar{x}_1, \bar{x}_2, \dots, \bar{x}_n)

Equivalently, the dual is the complement of the function evaluated on complemented variables:

fD(x1,x2,…,xn)=[f(xˉ1,xˉ2,…,xˉn)]′f^D(x_1, x_2, \dots, x_n) = \left[ f(\bar{x}_1, \bar{x}_2, \dots, \bar{x}_n) \right]'

⚖️ Neutral Functions: Definition & Combinatorial Capacity​

📖Definition 3.4: Neutral Functiondefinition

A Boolean function ff of nn variables is defined as a neutral function if its truth table contains an equal number of minterms and maxterms.

In an nn-variable system with 2n2^n truth table rows, a neutral function evaluates to 1 for exactly 2n−12^{n-1} rows, and evaluates to 0 for the remaining 2n−12^{n-1} rows.

Count of Minterms ∣m∣=Count of Maxterms ∣M∣=2n−1\text{Count of Minterms } |m| = \text{Count of Maxterms } |M| = 2^{n-1}
📐Theorem 3.8: Total Count of Neutral Functionstheorem

For an nn-variable system, the total number of distinct neutral Boolean functions that can be formed is:

Nneutral=(2n2n−1)=(2n)!(2n−1)!×(2n−1)!N_{\text{neutral}} = \binom{2^n}{2^{n-1}} = \frac{(2^n)!}{(2^{n-1})! \times (2^{n-1})!}

Neutral Function Capacities Across Dimensions​

  • For n=1n = 1 variable (21=22^1 = 2 rows): Nneutral=(21)=2 functions(f=A,f=Aˉ)N_{\text{neutral}} = \binom{2}{1} = 2 \text{ functions} \quad (f = A, f = \bar{A})
  • For n=2n = 2 variables (22=42^2 = 4 rows): Nneutral=(42)=4×32×1=6 functionsN_{\text{neutral}} = \binom{4}{2} = \frac{4 \times 3}{2 \times 1} = 6 \text{ functions}
  • For n=3n = 3 variables (23=82^3 = 8 rows): Nneutral=(84)=8×7×6×54×3×2×1=70 functionsN_{\text{neutral}} = \binom{8}{4} = \frac{8 \times 7 \times 6 \times 5}{4 \times 3 \times 2 \times 1} = 70 \text{ functions}
  • For n=4n = 4 variables (216=162^{16} = 16 rows): Nneutral=(168)=12,870 functionsN_{\text{neutral}} = \binom{16}{8} = 12,870 \text{ functions}

🔮 Self-Dual Functions: Properties & Verification Criteria​

📖Definition 3.5: Self-Dual Functiondefinition

A Boolean function ff is said to be self-dual if and only if the function is identically equal to its own dual:

f=fDf = f^D

Fundamental Necessary & Sufficient Conditions for Self-Duality​

To determine whether a Boolean function is self-dual without tedious algebraic transformations, verify these two strict criteria:

  1. Condition 1 (Neutrality): The function MUST be a neutral function. If the count of minterms does not equal 2n−12^{n-1}, the function cannot be self-dual.
  2. Condition 2 (Mutually Exclusive Term Pair Rule): A self-dual function cannot contain both terms of any mutually exclusive minterm pair, nor can it contain neither. It must contain EXACTLY ONE minterm from each mutually exclusive pair!
📖Definition 3.6: Mutually Exclusive Minterm Pairsdefinition

In an nn-variable truth table with 2n2^n rows, two minterms mim_i and mjm_j are defined as mutually exclusive if their binary representations are bitwise complements of each other. Their decimal indices satisfy:

i+j=2n−1  ⟹  j=(2n−1)−ii + j = 2^n - 1 \implies j = (2^n - 1) - i

In an nn-variable system, there are exactly:

Total Pairs=2n2=2n−1 pairs\text{Total Pairs} = \frac{2^n}{2} = 2^{n-1} \text{ pairs}

Mutually Exclusive Pairs for n=3n = 3 (23−1=72^3 - 1 = 7)​

Pair IndexBinary Combination 1Binary Combination 2Minterm Pair (mi↔m7−im_i \leftrightarrow m_{7-i})
Pair 10 0 0 (00)1 1 1 (77)(m0,m7)(m_0, m_7)
Pair 20 0 1 (11)1 1 0 (66)(m1,m6)(m_1, m_6)
Pair 30 1 0 (22)1 0 1 (55)(m2,m5)(m_2, m_5)
Pair 40 1 1 (33)1 0 0 (44)(m3,m4)(m_3, m_4)
📐Theorem 3.9: Total Count of Self-Dual Functionstheorem

For an nn-variable system, the total number of distinct self-dual Boolean functions is:

Nself-dual=22n−1N_{\text{self-dual}} = 2^{2^{n-1}}
🔍Derivation of the Self-Dual Function Countproof
  1. An nn-variable system contains exactly 2n−12^{n-1} mutually exclusive pairs of minterms:
Number of Pairs=2n−1\text{Number of Pairs} = 2^{n-1}
  1. For each mutually exclusive pair (mi,m2n−1−i)(m_i, m_{2^n - 1 - i}), a self-dual function must pick exactly one term.

    • Option 1: Include mim_i (and exclude m2n−1−im_{2^n - 1 - i}).
    • Option 2: Include m2n−1−im_{2^n - 1 - i} (and exclude mim_i).
  2. Since there are 22 independent choices for each pair, and there are 2n−12^{n-1} pairs:

Nself-dual=2×2×⋯×2⏟2n−1 pairs=22n−1■\begin{aligned} N_{\text{self-dual}} &= \underbrace{2 \times 2 \times \dots \times 2}_{2^{n-1} \text{ pairs}} \\ &= 2^{2^{n-1}} \quad \blacksquare \end{aligned}

Self-Dual Capacities Across Dimensions​

  • For n=1n = 1 variable: 220=21=2 functions2^{2^0} = 2^1 = 2 \text{ functions} (f=A,f=Aˉf = A, f = \bar{A}).
  • For n=2n = 2 variables: 221=22=4 functions2^{2^1} = 2^2 = 4 \text{ functions}.
  • For n=3n = 3 variables: 222=24=16 functions2^{2^2} = 2^4 = 16 \text{ functions} (out of 256 total).
  • For n=4n = 4 variables: 223=28=256 functions2^{2^3} = 2^8 = 256 \text{ functions} (out of 65,536 total).

📐 Orthogonal Functions: Complement Equals Dual (f′=fDf' = f^D)​

📖Definition 3.7: Orthogonal Functiondefinition

A Boolean function ff is said to be orthogonal if and only if its complement is identically equal to its dual:

f′=fDf' = f^D

Rules Governing Orthogonal Functions​

  1. Neutrality: An orthogonal function must also be neutral (∣m∣=2n−1|m| = 2^{n-1}).
  2. Pair Symmetry: For any mutually exclusive minterm pair (mi,m2n−1−i)(m_i, m_{2^n - 1 - i}), an orthogonal function must contain BOTH terms or NEITHER term!
  3. Impossibility of Dual Overlap: A function can NEVER be both self-dual and orthogonal simultaneously:
    • If ff is self-dual, f=fDf = f^D.
    • If ff is orthogonal, f′=fDf' = f^D.
    • Combining both yields f=f′f = f', which implies a logic value equals its own negation—a physical impossibility.
📐Formula 3.2: Total Count of Orthogonal Functionsformula

For an nn-variable system, the total number of orthogonal Boolean functions is:

Northogonal=(2n−12n−2)N_{\text{orthogonal}} = \binom{2^{n-1}}{2^{n-2}}

For n=3n = 3 variables: Northogonal=(23−123−2)=(42)=6 functionsN_{\text{orthogonal}} = \binom{2^{3-1}}{2^{3-2}} = \binom{4}{2} = 6 \text{ functions}


🗂️ The Four Families of Boolean Switching Functions​

🌐

Arbitrary Functions

Universal Set
  • All valid mappings from {0, 1}ⁿ to {0, 1}.
  • Total count: 2^(2ⁿ).
  • Covers asymmetric, constant, and specialized logic.
⚖️

Neutral Functions

Balanced Set
  • Equal number of 0s and 1s in the truth table.
  • Total count: (2ⁿ)! / ((2ⁿ⁻¹)! · (2ⁿ⁻¹)! ).
  • Super-set containing all self-dual and orthogonal functions.
🔮

Self-Dual Functions

Symmetric Set (f = fᴰ)
  • Identical in positive and negative logic systems.
  • Exactly 1 minterm selected from each of the 2ⁿ⁻¹ mutually exclusive pairs.
  • Total count: 2^(2ⁿ⁻¹).
📐

Orthogonal Functions

Complement Dual (f' = fᴰ)
  • Dual equals the complement function.
  • Both minterms or neither minterm selected from each mutually exclusive pair.
  • Total count: C(2ⁿ⁻¹, 2ⁿ⁻²).

🏭 Real-World Production Context: CMOS Complementary Sizing & Aerospace TMR Majority Voters​

  1. CMOS Transistor Duality: In physical CMOS integrated circuit fabrication, a static logic gate consists of a PMOS Pull-Up Network (PUN) connected to VDDV_{DD} and an NMOS Pull-Down Network (PDN) connected to Ground. The PUN and PDN are topological duals:
    • Where NMOS transistors are in series (AND logic), PMOS transistors must be in parallel (OR logic).
    • Where NMOS transistors are in parallel (OR logic), PMOS transistors must be in series (AND logic).
  2. Triple Modular Redundancy (TMR) Majority Voters: In mission-critical aerospace flight controllers (such as NASA shuttle and SpaceX Dragon computers), three redundant processors compute identical instructions in parallel. Their outputs (A,B,CA, B, C) feed into a hardware Majority Voter:
F(A,B,C)=AB+BC+CAF(A, B, C) = AB + BC + CA

This function evaluates to 11 if at least 2 out of 3 processors agree. Remarkably, this canonical majority function is strictly self-dual:

FD=(A+B)(B+C)(C+A)=AB+BC+CA=FF^D = (A + B)(B + C)(C + A) = AB + BC + CA = F

Because it is self-dual, the voter guarantees identical noise margins and fault-masking behavior whether an erroneous processor fails stuck-at-0 or stuck-at-1!


📐 Numerical Applications & Worked Examples​

Example 1: Computing Duals and Complements of Switching Expressions​

Problem Statement:
Given the Boolean switching function:

F(A,B,C,D)=AB+Cˉ(A′+B)+DF(A, B, C, D) = AB + \bar{C}(A' + B) + D
  1. Determine the algebraic dual function FDF^D.
  2. Determine the algebraic complement function F′F'.

Step-by-Step Solution:

  1. Compute the Dual FDF^D: Apply duality rules: swap ++ with ⋅\cdot, and ⋅\cdot with ++. Keep all literals (A,B,Cˉ,A′A, B, \bar{C}, A') unchanged:
    • The term ABAB becomes (A+B)(A + B).
    • The operator ++ becomes ⋅\cdot.
    • The product Cˉ(A′+B)\bar{C}(A' + B) becomes (Cˉ+(A′⋅B))(\bar{C} + (A' \cdot B)).
    • The operator ++ becomes ⋅\cdot.
    • The variable DD becomes DD.

Combining these components:

FD(A,B,C,D)=(A+B)⋅[Cˉ+(A′B)]⋅DF^D(A, B, C, D) = (A + B) \cdot \left[ \bar{C} + (A'B) \right] \cdot D
  1. Compute the Complement F′F': Apply De Morgan's Laws to invert the entire expression:
F′=[AB+Cˉ(A′+B)+D]′=(AB)′⋅[Cˉ(A′+B)]′⋅D′=(Aˉ+Bˉ)⋅[C+(A′+B)′]⋅Dˉ=(Aˉ+Bˉ)⋅[C+ABˉ]⋅Dˉ\begin{aligned} F' &= \left[ AB + \bar{C}(A' + B) + D \right]' \\ &= (AB)' \cdot \left[ \bar{C}(A' + B) \right]' \cdot D' \\ &= (\bar{A} + \bar{B}) \cdot \left[ C + (A' + B)' \right] \cdot \bar{D} \\ &= (\bar{A} + \bar{B}) \cdot \left[ C + A\bar{B} \right] \cdot \bar{D} \end{aligned}

Notice that F′F' complements every single variable (D→Dˉ,A→AˉD \to \bar{D}, A \to \bar{A}), whereas FDF^D preserves the literal forms!


Example 2: Verifying Self-Duality on 3-Variable Functions​

Problem Statement:
Analyze the following four 3-variable Boolean functions and determine which of them are self-dual:

  1. F1=∑m(0,3)F_1 = \sum m(0, 3)
  2. F2=∑m(0,1,6,7)F_2 = \sum m(0, 1, 6, 7)
  3. F3=∑m(3,5,6,7)F_3 = \sum m(3, 5, 6, 7)
  4. F4=∑m(0,2,5,7)F_4 = \sum m(0, 2, 5, 7)

Step-by-Step Solution:

Recall the 4 mutually exclusive pairs for n=3n = 3: P1=(0,7),P2=(1,6),P3=(2,5),P4=(3,4)P_1 = (0, 7), \quad P_2 = (1, 6), \quad P_3 = (2, 5), \quad P_4 = (3, 4)

  1. Evaluate F1=∑m(0,3)F_1 = \sum m(0, 3):

    • Total minterms =2= 2.
    • A neutral function for n=3n = 3 requires 23−1=42^{3-1} = 4 minterms.
    • Since ∣m∣=2≠4|m| = 2 \ne 4, F1F_1 is not neutral.
    • Verdict: F1F_1 is NOT self-dual.
  2. Evaluate F2=∑m(0,1,6,7)F_2 = \sum m(0, 1, 6, 7):

    • Total minterms =4= 4. Condition 1 (Neutrality) is satisfied!
    • Check mutually exclusive pairs:
      • Contains m0m_0 AND m7m_7 from Pair 1!
      • Contains m1m_1 AND m6m_6 from Pair 2!
      • Contains neither term from Pair 3 (2,52, 5) or Pair 4 (3,43, 4).
    • Because it contains both terms from pairs 1 and 2, Condition 2 is violated.
    • Verdict: F2F_2 is NOT self-dual (it is an Orthogonal function!).
  3. Evaluate F3=∑m(3,5,6,7)F_3 = \sum m(3, 5, 6, 7):

    • Total minterms =4= 4. Condition 1 (Neutrality) is satisfied!
    • Check mutually exclusive pairs:
      • From Pair 1 (0,7)(0, 7): Contains m7m_7 only (excludes m0m_0).
      • From Pair 2 (1,6)(1, 6): Contains m6m_6 only (excludes m1m_1).
      • From Pair 3 (2,5)(2, 5): Contains m5m_5 only (excludes m2m_2).
      • From Pair 4 (3,4)(3, 4): Contains m3m_3 only (excludes m4m_4).
    • Exactly one minterm is picked from every single mutually exclusive pair!
    • This is the famous Majority Voter Function F3=AB+BC+CAF_3 = AB + BC + CA.
    • Verdict: F3F_3 is STRICTLY SELF-DUAL.
  4. Evaluate F4=∑m(0,2,5,7)F_4 = \sum m(0, 2, 5, 7):

    • Total minterms =4= 4. Condition 1 (Neutrality) is satisfied!
    • Check pairs:
      • Pair 1 (0,7)(0, 7): Contains both m0m_0 and m7m_7!
    • Verdict: F4F_4 is NOT self-dual (it is also Orthogonal).

Example 3: Combinatorial Analysis of 4-Variable Switching Logic​

Problem Statement:
For a 4-variable Boolean system (A,B,C,D)(A, B, C, D), calculate:

  1. The total number of possible switching functions.
  2. The total number of neutral functions.
  3. The total number of self-dual functions.
  4. The percentage of 4-variable functions that are self-dual.

Step-by-Step Solution:

  1. Total Switching Functions (n=4n = 4): Truth table has 24=162^4 = 16 rows.
Ntotal=224=216=65,536N_{\text{total}} = 2^{2^4} = 2^{16} = 65,536
  1. Total Neutral Functions: Must contain exactly 24−1=82^{4-1} = 8 minterms out of 16:
Nneutral=(168)=16!8!×8!=12,870N_{\text{neutral}} = \binom{16}{8} = \frac{16!}{8! \times 8!} = 12,870
  1. Total Self-Dual Functions: Total mutually exclusive pairs =24−1=8= 2^{4-1} = 8 pairs. Choices per pair =2= 2.
Nself-dual=224−1=28=256N_{\text{self-dual}} = 2^{2^{4-1}} = 2^8 = 256
  1. Percentage of Self-Dual Functions:
Percentage=25665,536×100%=1256×100%≈0.3906%\text{Percentage} = \frac{256}{65,536} \times 100\% = \frac{1}{256} \times 100\% \approx 0.3906\%

As variable count increases, self-dual functions represent an increasingly rare and highly structured subspace of switching algebra.


🎯 Exam & Interview Pitfall Check​

Core Conceptual Questions
  • Why can a Boolean function never be both self-dual and orthogonal simultaneously?
    By definition:

    1. A self-dual function satisfies f=fDf = f^D.
    2. An orthogonal function satisfies f′=fDf' = f^D.

    If a function were simultaneously both, transitivity would require: f=f′f = f' This equation requires a binary variable or function to equal its own logical complement. Because a logic value can only be 00 or 11, 0≠10 \ne 1, no valid Boolean function can ever equal its complement. Therefore, the intersection of self-dual and orthogonal function sets is strictly empty (∅\emptyset).

  • Why does the dual of an XOR gate result in an XNOR gate?
    Consider the XOR expression f=ABˉ+AˉBf = A\bar{B} + \bar{A}B. Taking the dual: fD=(A+Bˉ)(Aˉ+B)f^D = (A + \bar{B})(\bar{A} + B) Expanding by distribution: fD=AAˉ+AB+BˉAˉ+BˉB=0+AB+AˉBˉ+0=AB+AˉBˉf^D = A\bar{A} + AB + \bar{B}\bar{A} + \bar{B}B = 0 + AB + \bar{A}\bar{B} + 0 = AB + \bar{A}\bar{B} The resulting expression AB+AˉBˉAB + \bar{A}\bar{B} is the exact canonical definition of the XNOR gate (A⊙BA \odot B).

Common Interview Traps
  • Trap: Inverting variables when constructing the dual.
    The most pervasive error in switching theory examinations is complementing variables during dual conversion (e.g., writing that the dual of A+BA + B is AˉBˉ\bar{A}\bar{B}). That is the complement! In duality, variables are NEVER complemented: the dual of A+BA + B is simply ABAB.

  • Trap: Assuming all neutral functions are self-dual.
    While all self-dual functions are neutral, the converse is FALSE. Neutrality only guarantees that ∣m∣=∣M∣=2n−1|m| = |M| = 2^{n-1}. For n=3n = 3, there are 7070 neutral functions, but only 1616 of them are self-dual! To be self-dual, the neutral function must additionally avoid containing both terms of any mutually exclusive pair.


💬

Discussion & Doubts