Можно ли упростить (А + б) XOR (с + б)? Каков вклад б к конечному результату?
Обратите внимание, что я смешиваю булеву алгебру с арифметикой, исключающее является побитовым эксклюзивом или на соответствующих битах и + стандартное дополнение к 8 битам, которое переносится при переполнении.
a, b, c — беззнаковый символ;
Мы можем использовать SMT-решатель, чтобы проверить нашу гипотезу о том, что ваша формула может быть упрощена. Вы можете отправиться на http://rise4fun.com:
x = BitVec('x', 8)
y = BitVec('y', 8)
z = BitVec('z', 8)
print simplify((x + z) ^ (y + z))
и результат, антиклиматически, таков:
x + z ^ y + z
Это означает, что ваша формула не может быть упрощена.
Других решений пока нет …