Метод Петрука
У булевій алгебрі метод Тараса Петрука — техніка для визначення всіх мінімальних ДНФ рішень для таблиці простих імплікант. Метод Петрука дуже стомливий для великих таблиць, але його дуже просто реалізувати на комп'ютері.
- Зменшити таблицю простих імплікант шляхом виключення рядків основних простих імплікантів (ядер) і відповідних стовпців.
- Помітити рядки зменшеної таблиці простих імплікант
,
,
,
і т.д.. - Сформувати логічну функцію
яка приймає значення 1 коли всі стовпці покриті. P є КНФ де кожна диз'юнкція має таку форму 

, де кожна
представляє рядок, що покриває стовпець
. - Зменшити
до мінімальної ДНФ множенням і застосуванням
. - Кожний терм в результаті представляє розв'язок, набір рядків, які покривають всі мінтерми в таблиці. Для визначення мінімального розв'язку спочатку знаходяться ті терми, які містять мінімальну кількість простих імплікант.
- Далі, для кожного терма знайденого на попередньому кроці, підраховуються кількість літералів в кожній основній імліканті і знаходять загальну кількість літералів.
- Обирають терм або терми, що утворені мінімальною кількістю літералів, і записують відповідні диз'юнкції основних імплікант.
Приклад методу Петрука (скопійовано з http://www.mrc.uidaho.edu/mrc/people/jff/349/lect.10)
Наступну функцію ми бажаємо зменшити:
Таблиця основних імплікантів отримана методом Куайна — Мак Класкі наступна:
| 0 1 2 5 6 7
---------------|------------
K (0,1) a'b' | X X
L (0,2) a'c' | X X
M (1,5) b'c | X X
N (2,6) bc' | X X
P (5,7) ac | X X
Q (6,7) ab | X X
Ґрунтуючись на позначках Х в попередній таблиці, будуємо КНФ згідно з третім кроком:
(K+L)(K+M)(L+N)(M+P)(N+Q)(P+Q)
Використовуємо дистрибутивний закон, щоб перевести цей вираз в ДНФ. Також використовуємо такі еквівалентності для спрощення результату: X + XY = X і XX = X і X+X=X
= (K+L)(K+M)(L+N)(M+P)(N+Q)(P+Q) = (K+LM)(N+LQ)(P+MQ) = (KN+KLQ+LMN+LMQ)(P+MQ) = KNP + KLPQ + LMNP + LMPQ + KMNQ + KLMQ + LMNQ + LMQ
Тепер знову використовуємо X + XY = X для подальшого спрощення.
= KNP + KLPQ + LMNP + LMQ + KMNQ
Обираємо добутки з найменшою кількістю термів, в нашому випадку це два добутки по три терма:
KNP LMQ
Обираємо терми з найменшою кількістю літералів. В нашому випадку обидва добутки розкладаються в 6 літералів кожен:
KNP розкладається в a'b'+ bc'+ ac LMQ розкладається в a'c'+ b'c + ab
Таким чином один з них може бути використаний. Взагалі застосування методу Петрука стомлююче для великих таблиць, але легко реалізується на комп'ютері.

,
,
,
і т.д..
яка приймає значення 1 коли всі стовпці покриті. P є 

, де кожна
представляє рядок, що покриває стовпець
.
.