Boolean truth table into SOP and Karnaugh Map - boolean-logic

Hi, I am junior in college and having trouble with my computer architecture classwork. Anyone care to help & tell me if I got them right?
Question1. Convert truth table into bool equation.
Question2. Find miminum SOP(sum of products)
Question3. Use K-map(Karnaugh map) to simplify.

You can simplify the original expression matching the given truth-table just by using Karnaugh maps:
f(x,y,z) = ∑(1,3,4,6,7) = m1 + m3 + m4 + m6 + m7
= ¬x·¬y·z + ¬x·y·z + x·y·z + x·¬y·¬z + x·y·¬z //sum of minterms
f(x,y,z) = ∏(0,2,5) = M0 · M2 · M5
= (x + y + z)·(x + ¬y + z)·(¬x + y + ¬z) //product of maxterms
f(x,y,z) = x·y + ¬x·z + x·¬z //minimal DNF
= (x + z)·(¬x + y + ¬z) //minimal CNF
You would get the same result using the laws of Boolean algebra:
¬x·¬y·z + ¬x·y·z + x·y·z + x·y·¬z + x·¬y·¬z
¬x·(¬y·z + y·z) + x·(y·z + y·¬z + ¬y·¬z) //distributivity
¬x·(z·(¬y + y)) + x·(y·(z + ¬z) + ¬y·¬z)) //distributivity
¬x·(z·( 1 )) + x·(y·( 1 ) + ¬y·¬z)) //complementation
¬x·(z ) + x·(y + ¬y·¬z)) //identity for ·
¬x·(z ) + x·(y + y·¬z + ¬y·¬z)) //absorption
¬x·(z ) + x·(y + ¬z·(y + ¬y)) //distributivity
¬x·(z ) + x·(y + ¬z·( 1 )) //complementation
¬x·(z ) + x·(y + ¬z) //identity for ·
¬x·z + x·y + x·¬z //distributivity
¬x·z + x·y + x·¬z //minimal DNF
¬x·z + x·y + x·¬z
¬x·z + x·(y + ¬z) //distributivity
(¬x + x)·(¬x + (y + ¬z))·(z + x)·(z + (y + ¬z)) //distributivity
( 1 )·(¬x + y + ¬z )·(z + x)·(z + y + ¬z) //complementation
( 1 )·(¬x + y + ¬z )·(z + x)·(y + 1) //complementation
( 1 )·(¬x + y + ¬z )·(z + x)·(1) //annihilator for +
(¬x + y + ¬z )·(z + x) //identity for ·
(¬x + y + ¬z)·(x + z) //minimal CNF

Related

Simplify Boolean (X + Y)(X' + Z) = XZ + X'Y

I am trying to solve this equation but I get z(x + y) + yx'. I am also wondering if this counts as the communicative boolean law .
(X + Y)(X' + Z)
XX' + X'Y + XZ + YZ Distributive law (twice)
F + X'Y + XZ + YZ Complement law: AA' = F
X'Y + XZ + YZ Identity law: F + A = A
X'Y + XZ + YZT Identity law: A = AT
X'Y + XZ + YZ(X + X') Complement law: T = (A + A')
X'Y + XZ + XYZ + X'YZ Distributive law
X'Y + X'YZ + XZ + XYZ Commutative law (twice)
X'YT + X'YZ + XZT + XYZ Identity law (twice): A = AT
X'Y(T + Z) + XZ(T + Y) Distributive law (twice)
X'YT + XZT Dominant law (twice): T + A = T
X'Y + XZ Identity law (twice): AT = A
XZ + X'Y Commutative law

simplifying Boolean expression A'BC + AB'C + A'B'C' + AB'C + ABC

Need help here, whats the simplified form of this Boolean expression?
I'm a little confused about this, help me guys!
A'BC + AB'C + A'B'C' + AB'C + ABC
Assuming the ⋅ operator represents binary conjunction, the + binary disjunction and the ' or the ¬ unary negation, you can apply the laws of Boolean algebra:
¬a⋅b⋅c + a⋅¬b⋅c + ¬a⋅¬b⋅¬c + a⋅¬b⋅c + a⋅b⋅c
¬a⋅b⋅c + a⋅¬b⋅c + ¬a⋅¬b⋅¬c + a⋅b⋅c //idempotence of +: a⋅¬b⋅c + a⋅¬b⋅c = a⋅¬b⋅c
b⋅c⋅(¬a + a) + a⋅¬b⋅c + ¬a⋅¬b⋅¬c //distributivity:¬a⋅b⋅c + a⋅b⋅c = b⋅c⋅(¬a + a)
b⋅c⋅(1) + a⋅¬b⋅c + ¬a⋅¬b⋅¬c //complementation: ¬a + a = 1
b⋅c + a⋅¬b⋅c + ¬a⋅¬b⋅¬c //identity for ⋅: b⋅c⋅(1) = b⋅c
b⋅c + a⋅b⋅c + a⋅¬b⋅c + ¬a⋅¬b⋅¬c //absorption: b⋅c = b⋅c + a⋅b⋅c
b⋅c + a⋅c⋅(b + ¬b) + ¬a⋅¬b⋅¬c //distributivity: a⋅b⋅c + a⋅¬b⋅c = a⋅c⋅(b + ¬b)
b⋅c + a⋅c⋅(1) + ¬a⋅¬b⋅¬c //complementation: b + ¬b = 1
b⋅c + a⋅c + ¬a⋅¬b⋅¬c //identity for ⋅: a⋅c⋅(1) = a⋅c
The final line is the original expression's minimal DNF. You can also transform it to it's minimal CNF:
b⋅c + a⋅c + ¬a⋅¬b⋅¬c
(b⋅c + a⋅c) + (¬a⋅¬b⋅¬c)
((b⋅c + a⋅c) + ¬a)⋅((b⋅c + a⋅c) + ¬b)⋅((b⋅c + a⋅c) + ¬c) //distributivity
(b⋅c + a⋅c + ¬a) ⋅ (b⋅c + a⋅c + ¬b) ⋅ (b⋅c + a⋅c + ¬c)
(b⋅c + c + ¬a) ⋅ (b⋅c + a⋅c + ¬b) ⋅ (b⋅c + a⋅c + ¬c) //absorption
(b⋅c + c + ¬a) ⋅ (c + a⋅c + ¬b) ⋅ (b⋅c + a⋅c + ¬c) //absorption
(b⋅c + c + ¬a) ⋅ (c + a⋅c + ¬b) ⋅ (b + a + ¬c) //absorption
(c + ¬a) ⋅ (c + a⋅c + ¬b) ⋅ (b + a + ¬c) //absorption
(c + ¬a) ⋅ (c + ¬b) ⋅ (b + a + ¬c) //absorption
(¬a + c)⋅(¬b + c)⋅(a + b + ¬c)
For this small number of variables, you can also use Karnaugh maps. In the picture (generated using latex) you can see marked out three equivalent expressions – the original one, it's minimal DNF and it's minimal CNF:
f(a,b,c) = ¬a⋅b⋅c + a⋅¬b⋅c + ¬a⋅¬b⋅¬c + a⋅b⋅c
= b⋅c + a⋅c + ¬a⋅¬b⋅¬c
= (¬a + c)⋅(¬b + c)⋅(a + b + ¬c)

Simplify boolean expression example

i have the following boolean to simplify
(A'C'D')+(A'B'D')+(A'BC')+(A'BD)
the furthest i got was ,
A'C'(D'+B)+A', which was from factoring out a
A' from A'B'D'+A'BD. Is there anything else that can be done? I've been trying different stuff and I cant simplify it anymore.
Actually you should be able to simplify the original expression
¬a·¬c·¬d + ¬a·¬b·¬d + ¬a·b·¬c + ¬a·b·d
to either one of these minimal forms:
¬a·(b + ¬d)·(¬b + ¬c + d)
¬a·¬b·¬d + ¬a·b·¬c + ¬a·b·d
The given expression next to it's minimal DNF and minimal CNF in Karnaugh maps (generated using latex):
You can also check it by applying the laws of Boolean algebra:
¬a·¬c·¬d + ¬a·¬b·¬d + ¬a·b·¬c + ¬a·b·d
¬a·¬b·¬d + ¬a·¬c·¬d + ¬a·b·¬c + ¬a·b·d //just permuting
¬a·¬b·¬d + ¬a·¬c·(¬d + b) + ¬a·b·d //distributivity
¬a·¬b·¬d + ¬a·¬c·(¬b·¬d + b) + ¬a·b·d //distributivity
¬a·¬b·¬d + ¬a·¬c·¬b·¬d + ¬a·¬c·b + ¬a·b·d //distributivity
¬a·¬b·¬d + ¬a·¬c·b + ¬a·b·d //absorption
¬a·¬b·¬d + ¬a·b·¬c + ¬a·b·d //minimal DNF
¬a·¬b·¬d + ¬a·b·d + ¬a·b·¬c //just permuting
¬a·(¬b·¬d + b·d + b·¬c) //distributivity
¬a·((¬b + b)·(¬b + d)·(¬d + b)·(¬d + d) + b·¬c) //distributivity
¬a·( (1)·(¬b + d)·(¬d + b)·(1) + b·¬c) //complementation
¬a·( (¬b + d)·(¬d + b) + b·¬c) //identity for ·
¬a·( (¬b + d + b·¬c)·(¬d + b + b·¬c)) //distributivity
¬a·( (¬b + d + ¬c)·(¬d + b + b·¬c)) //distributivity
¬a·( (¬b + d + ¬c)·(¬d + b)) //absorption
¬a·(¬b + ¬c + d)·(b + ¬d) //minimal CNF

Simplify boolean expression: (a + b)(b'+ c)(a + c) = (a + b)(b'+ c)

Hello I am trying to simplify this expression (proving consensus expression):
(a + b)(b'+ c)(a + c) = (a + b)(b'+ c)
I was thinking of adding (a+b)(b'+ c)(a + c + b' + b), but I don't know what to do after.
Take a look at this:
(a + b)(b' + c)(a + c)
= (ab' + 0 + ac + bc)(a + c)
= (ab' + ab'c +ac + ac + abc + bc)
= (ab' + ab'c + ac + abc + bc)
= (ab'(1+c) + ac + bc(a + 1))
= (ab' + ac + bc)
= (ab' + c(a+b))
= (ab' + bb' + c (a+b))
= (a+b)(b' + c)
The key step is realising that bb' = 0 so you can safely add that term without affecting the result in the penultimate step.
(A+C')(B'+C')
AB'+AC'+BC'+C'
AB'+(A+B+1)C'
We Know ( 1+anything =1)
So required expression AB'+C' .

Boolean Simplification

I have a boolean simplification problem that's already been solved.. but I'm having a hard time understanding one basic thing about it.. the order in which it was solved.
The problem is simplifying this equation:
Y = ¬A¬B¬C + ¬AB¬C + A¬B¬C + A¬BC + ABC
The solution is:
Y = ¬A¬B¬C + ¬AB¬C + A¬B¬C + A¬BC + ABC
= ¬A¬B¬C + ¬AB¬C + A¬B¬C + A¬BC + A¬BC + ABC (idempotency for A¬BC)
= ¬A¬C(¬B + B) + A¬B(¬C + C) + AC(¬B + B)
= ¬A¬C + A¬B + AC
The way I solved it is:
Y = ¬A¬B¬C + ¬AB¬C + A¬B¬C + A¬BC + ABC
= ¬A¬B¬C + ¬AB¬C + ¬A¬B¬C + A¬B¬C + A¬BC + ABC (idempotency for ¬A¬B¬C)
= ¬A¬C(¬B + B) + ¬B¬C(¬A + A) + AC(¬B +B)
= ¬A¬C + ¬B¬C + AC
So how do I know which term to use the law of idempotency on? Thanks.
¬A¬B¬C + ¬AB¬C + A¬B¬C + A¬BC + ABC
¬A¬C(¬B + B) + A(¬B¬C + ¬BC + BC)
¬A¬C + A(¬B¬C + ¬BC + BC) <- see truth table below for the simplification of this
¬A¬C + A(¬B + C)
¬A¬C + A¬B + AC
truth table:
B C
0 0 = 1 + 0 + 0 = 1
0 1 = 0 + 1 + 0 = 1
1 0 = 0 + 0 + 0 = 0
1 1 = 0 + 0 + 1 = 1
which is ¬B + C