A method for resolving conflicts and dealing with inconsistencies that arise in inheritance systems and non-monotonic reasoning. Default rules can contain components that define normality so that exceptions do not cause conflicts. For example, knowing that birds fly and Fred is a bird is inconsistent with knowing that Fred is a penguin. Attaching a ‘normal’ predicate to the rule that birds fly and knowing that penguins are not normal birds resolves the problem.