Canonical form (Boolean algebra)
Encyclopedia : C : CA : CAN : Canonical form (Boolean algebra)
In a Boolean algebra, a Boolean function that is composed of standard logical operators can be expressed in a canonical form using the dual concepts of minterms and maxterms. All logical functions are expressible in canonical form, both as a "sum of minterms" and as a "product of maxterms". This allows for greater analysis into the simplification of these functions, which is of great importance in the minimization of digital circuits.
A Boolean function expressed as a disjunction (OR) of minterms is commonly known as the "sum of products", and its De Morgan dual is the "product of sums", which is a function expressed as a conjunction (AND) of maxterms.
Minterms
A minterm is a logical expression of n variables consisting of only the logical conjunction operator and the compliment operator.For example, the following are examples of minterms:
- a b
' c - a
' b c
Indexing minterms
In general, one assigns each minterm (ensuring the variables are written in the same order, usually alphabetic), an index based on the binary value of the minterm. A complemented term, like aFunctional equivalence
It is apparent that minterm n gives a true value for the n+1 th unique function input for that logical function. For example, minterm 5, a bIf one is given a truth table of a logical function, it is possible to write the function as a "sum of products". This is a special form of disjunctive normal form, qv. For example, if given the truth table
a b f(a, b) 0 0 1 0 1 0 1 0 1 1 1 0observing that the rows that have an output of 1 are the first and third, so we can write f as a sum of minterms m0 and m2.
If we wish to verify this:
- f(a,b) = m0 + m2 = (a
' b' )+(ab ' )
Maxterms
A maxterm is a logical expression of n variables consisting of only the logical disjunction operator and the complement operator. Maxterms are a dual of the minterm idea. Instead of using ANDs and complements, we use ORs and complements, and proceed similarly.For example, the following are maxterms:
- a+b
' +c - a
' +b+c
Dualization
The complement of a minterm is the respective maxterm. This can be easily verified by using de Morgan's law. For example- m1' = M1
- (a
' b)' = a+b'
Indexing maxterms
Indexing maxterms is done in the opposite way as with minterms. One assigns each maxterm an index based on the order of its complements (again, ensuring the variables are written in the same order, usually alphabetic). For example, one might assign M6 (Maxterm 6) to the maxterm aFunctional equivalence
It is apparent that maxterm n now gives a false value for the n+1 th unique function input for that logical function. For example, maxterm 5, aIf one is given a truth table of a logical function, it is possible to write the function as a "product of sums". This a special form of conjunctive normal form, q.v. For example, if given the truth table
a b f(a, b) 0 0 1 0 1 0 1 0 1 1 1 0observing that the rows that have an output of 0 are the second and fourth, so we can write f as a product of maxterms M1 and M3.
If we wish to verify this:
- f(a,b) = M1 M3 = (a+b
' )(a' +b' )
See also
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
