Conversion to Canonical Form
Result of distributing “and” over “or”
(and (or (not (Type ?g OR))
(or (not (Signal (Out 1 ?g) On))
(Signal (In (Sk1 ?g ?j) ?g) On)))
(or (not (Type ?g OR))
(or (not (Signal (In ?j ?g) On))
(Signal (Out 1 ?g) On))))
Flatten Nested Conjunctions and Disjunctions
(and (or (not (Type ?g OR))
(not (Signal (Out 1 ?g) On))
(Signal (In (Sk1 ?g ?j) ?g) On))
(or (not (Type ?g OR))
(not (Signal (In ?j ?g) On))
(Signal (Out 1 ?g) On)))
Convert Disjunctions to Implications