Дизъюнктивная нормальная форма в Python
Используя python, как лучше всего преобразовать строку из AND и OR вдизъюнктивная нормальная форма (также известный как «сумма продуктов»)?
b AND (c OR (a AND d))
становится
(b AND c) OR (b AND a AND d)
Я хотел бы также отсортировать их, лексикографически
(a AND b AND d) OR (b AND c)