Кто-нибудь знает об алгоритме для упрощения булевых выражений?
Я помню булевскую алгебру и карты Карнаутов, но это предназначено для цифрового оборудования, где EVERTHING является логическим. Я хотел бы что-то, что учитывает, что некоторые подвыражения не являются логическими.
Например:
a == 1 && a == 3
это может быть переведено в чисто булево выражение:
a1 && a3
но это выражение неприводимо, а с небольшим знанием арифметики everibody может определить, что выражение справедливо:
false
Кто-то знает некоторые ссылки?