Two-level minimization
Two-level minimization. Any Boolean function can be written as a sum of products (an OR of AND terms). The smallest two-level form uses the fewest, largest product terms that still cover every input for which the function is 1. Those largest terms are the prime implicants, and the job is to pick a set of them that covers all the 1s at the least total cost (literals).
The map on the left shows the 1s of a 4-variable function. Each prime implicant on the right is a largest group of 1s, worth its number of literals (a bigger group spans more 1s with fewer literals, so it is cheaper).
A 1 that only one implicant can cover is essential: that implicant must be in the cover. Take the essentials first, then cover whatever 1s remain with the fewest extra literals. Click implicants to build the cover, reach full coverage at minimum cost, then Submit cover.