constraints isa/2. isa(I,and(S1,S2)) <=> isa(I,S1), isa(I,S2). isa(I,or(S1,S2)) <=> isa(I,S1) ; isa(I,S2). isa(I,some(R,S)) <=> isa((I,J),R), isa(J,S). isa(I,every(R,S)), isa((I,J),R) ==> isa(J,S). isa(I,not(not(S))) <=> isa(I,S). isa(I,not(and(S1,S2))) <=> isa(I,or(not(S1),not(S2))). isa(I,not(or(S1,S2))) <=> isa(I,and(not(S1),not(S2))). isa(I,not(some(R,S))) <=> isa(I,every(R,not(S))). isa(I,not(every(R,S))) <=> isa(I,some(R,not(S))). isa(I,not(S)), isa(I,S) <=> false. isa(I,woman) <=> isa(I,and(human,female)). isa(I,man) <=> isa(I,and(human,not(female))). isa(I,mother) <=> isa(I,and(woman,some(hasChild,human))). isa(I,father) <=> isa(I,and(man,some(hasChild,human))). isa(I,parent) <=> isa(I,or(mother,father)). isa(I,grandParent) <=> isa(I,and(parent,some(hasChild,parent))). isa(I,proudParent) <=> isa(I,and(parent,every(hasChild,happy))). isa(I,not(woman)) <=> isa(I,not(and(human,female))). isa(I,not(man)) <=> isa(I,not(and(human,not(female)))). isa(I,not(mother)) <=> isa(I,not(and(woman,some(hasChild,human)))). isa(I,not(father)) <=> isa(I,not(and(man,some(hasChild,human)))). isa(I,not(parent)) <=> isa(I,not(or(mother,father))). isa(I,not(grandParent)) <=> isa(I,not(and(parent,some(hasChild,parent)))). isa(I,not(proudParent)) <=> isa(I,not(and(parent,every(hasChild,happy)))).