Qwurticus
Qwurticus

Reputation: 897

Simplifying a logic function using boolean algebra

I'm taking a class on digital logic and I am having a hard time with boolean algebra and simplifying logic functions with it. I have tried answering this problem several times and I keep coming to the answer "1", which I feel is absolutely wrong.

The question is

Consider the logic function f(a,b,c) = abc + ab'c + a'bc + a'b'c + ab'c'. Simplify f using Boolean algebra as much as possible.

I have tried solving it several ways using the boolean identities given in my textbook and from lecture, but I keep coming to something like c + 1 which is equivalent to 1, which I don't feel is the correct answer considering the next question in the problem.

Here is my last attempt:

 f(a,b,c) = abc + ab'c + a'bc + a'b'c + ab'c'
          = a(bc + b'c + b'c') + a'(bc + b'c)        # Distributive, took out the a and the a' separately.
          = (a + a')((bc + b'c + b'c') + (bc + b'c)) # Distributive(?), took out the a and a' together (This is probably where I screwed up).
          = (1)((c + b'c') + c)                      # a + a' = 1; bc + b'c = c (Combining).
          = c + b'c' + c                             # cleaned up a little.
          = c + b'c'                                 # c + c = c.
          = c + (b' + c')                            # b'c' = b' + c' (DeMorgan's Theorem).
          = 1 + b'                                   # c + c' = 1.
          = 1                                        # 1 + b' = 1

This feels absolutely wrong to me, and the next question asks me to make the logic circuit for it, which I don't think is possible.

Can anyone help/walk me through what I am doing wrong? I would really appreciate it. :(

(P.S. I used code formatting, I apologize if this is annoying to some.)

Upvotes: 1

Views: 2189

Answers (1)

maskacovnik
maskacovnik

Reputation: 3084

By this table:

A 1 1 1 1 0 0 0 0
B 1 1 0 0 1 1 0 0
C 1 0 1 0 1 0 1 0
Y 1 0 1 1 1 0 1 0

Y=ab'+c

I've got it :D

f(a,b,c) = abc + ab'c + a'bc + a'b'c + ab'c'
         = a(bc + b'c + b'c') + a'(bc + b'c)
         = a(c(b + b') + b'c') + a'(c(b + b'))
         = a(c * 1 + b'c') + a'(c * 1)
         = a(c + b'c') + a'c
         = a(c'(b'c')')' + a'c
         = a(c'(b + c))' + a'c
         = a(c'b +cc')' + a'c
         = a(c'b)' + a'c
         = a(c+b') + a'c
         = ac + ab' + a'c
         = c(a + a') + ab'
         = ab' + c

Upvotes: 1

Related Questions