In Boolean logic, the term **implicant** has either a generic or a particular meaning. In the generic use, it refers to the hypothesis of an implication (wiktionary:implicant). In the particular use, a product term (i.e., a conjunction of literals) *P* is an **implicant** of a Boolean function *F*, denoted , if P implies F (i.e., whenever *P* takes the value 1 so does *F*).
For instance, implicants of the function

include the terms , , , , as well as some others.

## 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** (aka **core 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 (and others) is a prime implicant, and are not. From the latter, multiple literals can be removed to make it prime:

- , 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 .^{[1]}

The sum of all prime implicants of a Boolean function is called its **complete sum**, **minimal covering sum**, or Blake canonical form.

## See also

## References

**^**De Micheli, Giovanni.*Synthesis and Optimization of Digital Circuits*. McGraw-Hill, Inc., 1994