There are two types of canonical forms:
- Disjunctive Normal Forms or Sum of Products or (SOP).
- Conjunctive Normal Forms or Products of Sums or (POS).
Disjunctive Normal Forms or Sum of Products or (SOP):
A Boolean expression over ({0, 1}, ∨,∧,') is said to be in disjunctive normal form if it is a join of minterms
Example: (x1'∧x2'∧x3')∨( x1'∧x2∧x3' )∨(x1∧x2∧x3) is a Boolean expression in disjunctive normal form.
Since there are three min-terms x1'∧x2'∧x3',x1'∧x2∧x3 and x1∧x2∧x3.
Max-term: A Boolean Expression of n variables x1,x2,....xnis said to be a max-term if it is of the form x1∨x2∨..........∨xn
where xi is used to denote xi or xi'.
Conjunctive Normal Forms or Products of Sums or (POS):
A Boolean expression over ({0, 1}, ∨,∧,') is said to be in a disjunctive normal form if it is a meet of max-terms
Example:
(x1∨x2∨x3)∧( x1∨x2∨x3 )∧(x1∨x2∨x3 )∧(x1'∨x2∨x3' )∧(x1'∧x2'∧x3)
is a Boolean expression in conjunctive normal form consisting of five max-terms.
Obtaining A Disjunctive Normal Form:
Consider a function from {0, 1}n to {0, 1}. A Boolean expression can be obtained in disjunctive normal forms corresponding to this function by having a min-term corresponding to each ordered n-tuples of 0's and 1's for which the value of the function is 1.
Obtaining A Conjunctive Normal Form:
Consider a function from {0, 1}n to {0, 1}. A Boolean expression can be obtained in conjunctive normal forms corresponding to this function by having a max-term corresponding to each ordered n-tuples of 0's and 1's for which the value of function is0.
Example: Express the following function in
- Disjunctive Normal Form
- Conjunctive Normal Form
f | f | ||
(0, 0, 0) | 1 | (1, 0, 0) | 0 |
(0, 0, 1) | 0 | (1, 0, 1) | 1 |
(0, 1, 0) | 1 | (1, 1, 0) | 0 |
(0, 1, 1) | 0 | (1, 1, 1) | 1 |
Solution:
- (x1'∧ x2' ∧ x3') ∨(x1'∧x2∧ x3' )∨(x1∧x2'∧x3 )∨(x1∧x2∧x3)
- (x1'∨x2'∨x3')∧( x1'∨x2∨x3 )∧(x1∨x2'∨x3' )∧(x1∨x2∨x3')
Principle of Duality:
The dual of any expression E is obtained by interchanging the operation + and * and also interchanging the corresponding identity elements 0 and 1, in original expression E.
Example: Write the dual of following Boolean expressions:
1. (x1*x2) + (x1*x3') 2. (1+x2)*( x1+1)
3. (a ∧(b∧c))
Solution:
1. ( x1+x2)*( x1+x3') 2. (0*x2)+( x1*0)
3. (a ∨(b∧c))
0 Comments