Логические функции имеют много свойств, позволяющих выполнять различные преобразования. Все сколько-нибудь полезные правила преобразований собраны в этой главе.
Правила преобразований мы будем записывать в виде равенств:
где
Такая запись означает: если в обоих частях равенства вместо переменных подставить любые константы и проделать вычисления, то в результате получатся одинаковые результаты: 0 = 0 или 1 = 1. Следует помнить, что это равенство не арифметическое. Например, нельзя переносить переменные из одной части равенства в другую с обратным знаком.
Все правила, перечисленные ниже, доказываются без особых усилий. Достаточно взять и подставить в правило все возможные комбинации булевых констант и убедиться, что всегда получается равенство. Трудно придумать доказательство проще и надежнее, чем прямой перебор всех возможных вариантов. В данном случае это возможно, поскольку количество этих вариантов конечно.
В обычной алгебре равенства применяются в первую очередь для того, чтобы выводить новые равенства. То же самое относится и к алгебре логики. В ней действуют два правила вывода:
1. Если в обоих частях равенства заменить переменную на любую формулу (одну и ту же во всех местах, где встречается эта переменная), то получится равенство.
Например, из равенства
путем замены
Обратите внимание, что для сохранения порядка действий добавлены скобки.
2. Если
Например, пусть у нас есть два равенства:
Мы можем взять равенство (1) и в нем вместо