(note TQG28) ;; boolean version ;; contrary attribute case elimination (instance Planet28-1 Class) (subclass AstronomicalBody Object) (subclass Planet28-1 AstronomicalBody) (instance Rocky Attribute) (instance Icy Attribute) (instance Watery Attribute) (instance Gaseous Attribute) (contraryAttribute Rocky Icy Watery Gaseous) (instance Object28-1 Planet28-1) (attribute Object28-1 Watery) (=> (and (contraryAttribute @ROW) (inList ?ATTR1 @ROW) (inList ?ATTR2 @ROW)) (contraryAttribute ?ATTR1 ?ATTR2)) (=> (and (contraryAttribute ?ATTR1 ?ATTR2) (attribute ?O ?ATTR1)) (not (attribute ?O ?ATTR2))) (=> (contraryAttribute ?ATTR1 ?ATTR2) (contraryAttribute ?ATTR2 ?ATTR1)) (query (not (attribute Object28-1 Gaseous))) (answer yes) ;; Fails, requires axiom for process of elimination on contraryAttribute(s)