A maxterm is the Boolean algebra expression formed by taking a row of a truth table and forming an or function where the inputs are the input variables of the row. Each maxterm variable will be negated if the same variable takes 1 in the row, otherwise the variable is unnegated. The maxterms are often numbered, one for each row, and named Mi for row i. We can form an expression as a product of sums which is equivalent to the function of the truth table by applying the and function to all the maxterms whose function result is 0.


The truth table for the half adder, with a column showing the maxterm, is as follows:

 A  B  S  C maxterm

If we were only interested in the sum output S then we see that both maxterms M0 and M3 give an output of 0 for S and this gives the sum of products equivalent of (A or B) and (not(A) or not(B)). We know that the equation for S is S = A xor B, so our sum of products result is correct.


Mano, M. Morris, and Kime, Charles R. Logic and Computer Design Fundamentals. 2nd Edition. Prentice Hall, 2000.