Graded vector space
In Boolean logic, an implicant is a "covering" (sum term or product term) of one or more minterms in a sum of products (or maxterms in a product of sums) of a boolean function. Formally, a product term P in a sum of products is an implicant of the Boolean function F if P implies F. More precisely:
- P implies F (and thus is an implicant of F) if F also takes the value 1 whenever P equals 1.
A prime implicant of a function is an implicant that cannot be covered by a more general (more reduced - meaning with fewer literals) implicant. W.V. Quine defined a prime implicant of F to be an implicant that is minimal - that is, the removal of any literal from P results in a non-implicant for F. Essential prime implicants are prime implicants that cover an output of the function that no combination of other prime implicants is able to cover.
- , and can be removed, yielding .
- Alternatively, and can be removed, yielding .
- Finally, and can be removed, yielding .
The process of removing literals from a Boolean term is called expanding the term. Expanding by one literal doubles the number of input combinations for which the term is true (in binary Boolean algebra). Using the example function above, we may expand to or to without changing the cover of . 
The sum of all prime implicants of a Boolean function is called its complete sum, minimal covering sum, or Blake canonical form.
- De Micheli, Giovanni. Synthesis and Optimization of Digital Circuits. McGraw-Hill, Inc., 1994