# Minterm

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

## Example

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

` A `` B `` S `` C `minterm
`0``0``0``0`m0
`0``1``1``0`m1
`1``0``1``0`m2
`1``1``0``1`m3

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

## References

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