2

I'm an absolute beginner to boolean algebra, learning about logic circuits and am having a hard time with simplifying my expression.

Starting with three inputs (A, B, and C) and ending with two outputs (X, Y) I'm having trouble simplifying output Y.

enter image description here

I've been going in circles trying a bunch of possibilities, but can't seem to figure out the best next step to get things any simpler. Instead, they only seem more complicated.

What I have so far:

X   = ((A*B’)’ + (B*C’))’
    = ((A*B’)’)’ * (B*C’)’
    = (A*B’) * (B*C’)’
Y   = [(A+C’)’ * ((A*B’)’ + (B*C’))’] + [(A+C’) * (((A*B’)’ + (B*C’))’)’]
    = [(A+C’)’ * ((A*B’)’ + (B*C’))’] + [(A+C’) * ((A*B’)’ + (B*C’))
    = [(A+C') + (A*B')' + (B*C')]' + [(A+C’) * ((A*B’)’ + (B*C’))
user25976
  • 123
  • It looks $X$ simplifies to $AB'$. Plug that in $Y$ expression and simplify : $$Y = AB' \oplus (\overline{A'C}) = \overline{AB' + A'C} $$ – AgentS Sep 11 '14 at 21:04

1 Answers1

1

Keep applying DeMorgan's Law until there's only one layer of negations. Distribute until you get everything into sum of products form. Try to look for factoring tricks to simplify: \begin{align*} X &= ((AB')' + (BC'))' \\ &= (AB')(BC')' \\ &= AB'(B' + C) \\ &= AB'B' + AB'C \\ &= AB' + AB'C \\ &= AB'(1 + C) \\ &= AB'(1) \\ &= AB' \\ \end{align*} Hence, we have: \begin{align*} Y &= (A + C')'X + (A + C')X' \\ &= (A + C')'(AB') + (A + C')(AB')' \\ &= (A'C)(AB') + (A + C')(A' + B) \\ &= (A'A)(B'C) + (A + C')(A' + B) \\ &= 0(B'C) + (A + C')(A' + B) \\ &= (A + C')(A' + B) \\ &= AA' + AB + A'C' + BC' \\ &= 0 + AB + A'C' + (1)BC' \\ &= AB + A'C' + (A + A')BC' \\ &= AB + A'C' + (ABC' + A'BC') \\ &= (AB + ABC') + (A'C' + A'BC') \\ &= AB(1 + C') + A'C'(1 + B) \\ &= AB(1) + A'C'(1) \\ &= AB + A'C' \\ \end{align*}

Adriano
  • 41,576
  • Why not stop 6 steps into $Y$ when you got to a perfectly good minimal product of sums? :) – genisage Sep 11 '14 at 21:19
  • @genisage Hahah, that's true. – Adriano Sep 11 '14 at 21:21
  • @genisage No, actually that one was deliberate. The $BC'$ term is covered by the other two terms. This is know as the Consensus Theorem (http://en.wikipedia.org/wiki/Consensus_theorem). – Adriano Sep 11 '14 at 21:40
  • @Adriano Can you elaborate on what you mean by the "BC' term is covered by the other two terms"? Very clear answer with a bunch of tricks I would have never seen. Thanks. – user25976 Sep 12 '14 at 00:39
  • 1
    @user25976 A longer explanation is given in the Consensus Theorem Wikipedia link above. But in general, simplifying Boolean Expressions is usually done through the use of Karnaugh Maps (http://en.wikipedia.org/wiki/Karnaugh_map), which is a cool visual tool that involves covering a grid with rectangles. – Adriano Sep 12 '14 at 00:41