For those of you who are using a rule based approach to AI, these rules support the tests above.
Categorical Dilemma rules (X is member, C is class, A is attribute, B is attribute)
if X is a C, and Cs are A or B, then remember X is A or B.
If X is A and X is A or B, then forget X is A or B.
If X is B and X is A or B, then forget X is A or B.
if X is not A and X is A or B then remember X is B and forget X is A or B and forget X is not A .
if X is not B and X is A or B then remember X is A and forget X is A or B and forget X is not B .