Приведу еще одно решение в "чистом" виде демонстрирующее идею использования базисных предикатов.
Справка: E
10 - означает, что число x&10 <>0, но это равносильно E
8+E
2 ((x & 46 = 0) ∨ (x & 18 = 0)) → ((x & 115 ≠ 0) → (x & a = 0)))
В предикатах запишется как:
(!E
46+!E
18)→(E
115 →!E
a)
Избавляемся от импликации и применяем закон де Моргана:
E
46*E
18+!E
115+!E
a Переходим к базисным предикатам:
(E
32+E
8+E
4+E
2)*(E
16+E
2)+!E
64*!E
32*!E
16*!E
2*!E
1+!E
a Дальнейшие преобразования строго по основным законам логики:
E
2+(E
32+E
8+E
4)*E
16+!E
64*!E
32*!E
16*!E
1+!E
a (E
32+E
8+E
4)*E
16 = E
44*E
16- не может дать 1 ни в одном разряде.
!E
64*!E
32*!E
16*!E
1=!E
113 - входит в выражение с отрицанием так же как и искомое !E
a, и не может изменить число A
Остается E
2+!E
a Искомое число А=2
Замечу, что многое становится понятнее и нагляднее, если сопровождать решение кругами. Подробнее о геометрической модели в статье
http://kpolyakov.spb.ru/download/mea18bit.pdf