XOR and NOT Gates
XOR gate’s output is on when its inputs are different
(=> (= (Type ?g) XOR)
(<=> (= (Signal (Out 1 ?g)) On)
(not (= (Signal (In 1 ?g) (Signal (In 2 ?g))))))
NOT gate’s output is different from its inputs
(=> (= (Type ?g) NOT)
(not (= (Signal (Out 1 ?g)) (Signal (In 1 ?g)))))