Неоднократно применяйте дистрибутивный закон, где дизъюнкция происходит по соединению. Как только это невозможно, формула находится в CNF.
p ∨ (q ∧ r) to (p ∨ q) ∧ (p ∨ r)
Чтобы получить формулу в дизъюнктивной нормальной форме, просто примените распределение ∧ по ∨ на шаге 2.
Примечание о ⊂
Символ подмножества (⊂), используемый в вопросе, является просто альтернативной нотацией для логической импликации/вхождения, которая обычно записывается как стрелка (⇒).
Я реализовал небольшой инструмент в Java, который может выполнять базовое преобразование из булева выражения в (C | D) NF. Если вам интересно, вы можете посмотреть https://github.com/julianthome/ctrans. Реализация основана на этих примечаниях к лекции. Более подробное описание можно найти здесь. Любая обратная связь будет принята с благодарностью: -).