A Boolean function is a logical expression that uses binary variables (0 or 1) and Boolean operators (AND, OR, NOT) to produce a single binary output (0 or 1).
Question 1: Express the function F(A, B, C) = A + BC in canonical SOP form.
F ​= A + BC
F =A(B+B′)(C+C′) + BC(A+A′)
F = ABC + ABC′ + AB′C + AB′C′ + A′BC​
Therefore, the canonical SOP form is: F(A,B,C) = ABC + ABC′ + AB′C + AB′C′ + A′BC​
Question 2: Express the function F(x,y,z) = x + y'z in canonical POS form.
The function is 0 for:
- (0,0,0) → Maxterm: (x+y+z)
- (0,1,0) → Maxterm: (x+y′+z)
- (0,1,1) → Maxterm: (x+y′+z′)
Therefore, the canonical POS form is: F(x,y,z) = (x + y + z)(x + y + z')(x + y' + z)(x + y' + z')
We find all the maxterms where the function is false and AND them together.
Question 3: Simplify the Boolean function F = AB + A'B + AB'.
Solution: F = A + B
Explanation:
F = AB + A'B + AB'
= AB + A'B + AB' + AB (adding AB doesn't change the function)
= B(A + A') + A(B + B')
= B(1) + A(1)
= B + A
= A + B
Question 4: Express the function F(A,B,C) = A'B + BC' in canonical SOP form.
F​ = A′B+BC′
F = A′B(C+C′) + BC′(A+A′)
F = A′BC + A′BC′ + ABC′ + A′BC′​
Removing the repeated term A′BC′, we get:
F(A,B,C) = A'BC' + A'BC + ABC'
Question 5: Convert the function F(x,y,z) = x'y'z + xy'z' + xyz to canonical POS form.
Solution: F(x,y,z) = (x + y + z)(x + y' + z)(x' + y + z)
Explanation: We find all the maxterms where the function is false and AND them together. The function is false only when (x,y,z) is (0,1,0), (1,0,1), or (0,0,1).
Question 6: Simplify the Boolean expression: G(a,b,c) = ab + a'c + bc
Solution: G(a,b,c) = ab + c
Explanation:
G = ab + a'c + bc
= ab + c(a' + b)
= ab + c(a' + b + ab) (adding ab doesn't change the result)
= ab + c(a' + b)
= ab + c
Question 7: Express the function H(p,q,r) = p'q' + qr' in algebraic form using only NAND operations.
Solution: H(p,q,r) = ((p NAND p) NAND (q NAND q)) NAND ((q NAND (r NAND r)) NAND (q NAND (r NAND r)))
Explanation: We first convert OR to NAND using De Morgan's law, then replace AND with NAND, and finally replace NOT with a NAND of the variable with itself.
Question 8: Express the function K(a,b,c) = (a + b')(a' + c) in canonical SOP form.
Solution: K(a,b,c) = a'bc + ab'c + abc
Explanation: We expand the expression and find all combinations that make it true. This includes when a is false, b and c are true; when a and c are true, b is false; and when all variables are true.
Question 9: Convert the function F(w,x,y,z) = wx + y'z + xyz' to Reed-Muller canonical form.
Solution: F(w,x,y,z) = 1 ⊕ y ⊕ z ⊕ wx ⊕ yz
Explanation:
Start with F = wx + y'z + xyz'
Replace y' with (1 ⊕ y)
F = wx + (1 ⊕ y)z + xyz'
Expand: F = wx + z ⊕ yz + xyz'
Combine xyz' and xyz: F = wx + z ⊕ yz + xy(z' ⊕ z)
Since (z' ⊕ z) = 1, we get: F = wx + z ⊕ yz + xy
Rearranging: F = 1 ⊕ y ⊕ z ⊕ wx ⊕ yz
The Reed-Muller canonical form uses XOR (⊕) and AND operations, with each variable appearing at most once in each term.
Question 10: Represent the function G(a,b,c) = a'b + bc' + ac using a Binary Decision Diagram (BDD).
Solution: The BDD for this function would look like this (described textually):
Root node: a
If a = 0: go to node b
If b = 0: output 0
If b = 1: output
If a = 1: go to node c
If c = 0: go to node b
If b = 0: output 0
If b = 1: output 1
If c = 1: output 1
Explanation:
We start with variable a at the root.
If a is false (0), the function reduces to b, so we output 1 if b is true, 0 otherwise.
If a is true (1), we need to check c.
If c is true, the function is true regardless of b.
If c is false, we need to check b (because of the bc' term).
Practice Problems
1. Express the function F(x, y, z) = x'y + yz + xz' in canonical Sum-of-Products (SOP) form.
2. Convert the function G(a, b, c) = (a + b')(a' + c)(b + c') to canonical Product-of-Sums (POS) form.
3. Simplify the Boolean expression H(p, q, r) = pq + p'r + qr using algebraic methods.
4. Represent the function J(w, x, y, z) = ÎŁm(0, 1, 3, 4, 5, 7, 8, 9, 11, 15) using a Karnaugh map and find its minimal SOP form.
5. Express the function K(a, b, c) = a'b + bc' + ab'c in Reed-Muller canonical form.