Что я имею :
(A.B.C) + (D.E) + (F.G.H.I)
Чего я хочу, используя распределительный закон:
(A + D + F).(A + D + G).(A + D + H).(A + D + I).
(A + E + F).(A + E + G).(A + E + H).(A + E + I).
(B + D + F).(B + D + G).(B + D + H).(B + D + I).
(B + E + F).(B + E + G).(B + E + H).(B + E + I).
(C + D + F).(C + D + G).(C + D + H).(C + D + I).
(C + E + F).(C + E + G).(C + E + H).(C + E + I)
Оба выражения эквивалентны. Я использовал распределительный закон, чтобы получить второй: A + (B . C) ⇔ (A + B) . (A + C)
Выражение может быть больше, но оно всегда состоит из групп AND
, разделенных OR
. Я ищу библиотеку, которая могла бы распределять логические выражения. Библиотека наподобие Sympy, но применяемая к логике, а не к алгебре.