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:
where
This means that P
is implied by
Prime implicant
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.
Using the example above, one can easily see that while
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
The sum of all prime implicants of a Boolean function is called its complete sum, minimal covering sum, or Blake canonical form.