2

Maybe I have got some misconception while solving a problem. Lets a logic function, X=AB+A'C

By applying duality principle, I can say that, X=(A+B)(A'+C)

But I can't prove both are equal. I simplify upto this,

(A+B)(A'+C)=AC+A'B

For an input, A=0, B=0, C=1 X=AB+A'C=1 But X=(A+B)(A'+C)=0.1=0

As is shown both are not equal. Where is my problem with the duality principle?

2 Answers2

3

I think you misapplied the duality principle. It should be:

AB+A'C is equivalent to (A+C)(A'+B)

When applying the duality principle you have to transform variables into their negation as well as interchanging ANDs and ORs.

The dual of X = AB+A'C is X' = (A'+B')*(A''+C').

ErikR
  • 4,987
  • 12
  • 18
2

The duality principle says that a statement stays true if we switch OR and AND operators, and we switch 0 and 1. With variables, it means we switch X and X'.

Take a simple example : X = A B
Thus you have: X' = A' + B'
Check the logic table:

\begin{array}{| c | c | c | c |} \hline a & b & x & x' \\ \hline 0 & 0 & 0 & 1 \\ \hline 0 & 1 & 0 & 1 \\ \hline 1 & 0 & 0 & 1 \\ \hline 1 & 1 & 1 & 0 \\ \hline \end{array}

In your case you have: X = A B + A' C
Thus you have: X' = (A' + B') (A + C')

Aaron
  • 7,672
  • 17
  • 32
James
  • 41
  • 2
  • Should I do both simultaneously? Like A+AB=A and A.(A+B)=A – Swapnil MZS Oct 18 '22 at 14:53
  • I am not sure to understand your question. Yes you need to switch the operators and to invert the values/variables. Inverting only the operators does not make sense. Just look at this not working example: X = A B = A + B, it is obviously not correct. – James Oct 18 '22 at 17:04