Non-monotonic reasoning allows conclusions to be retracted when new information is introduced. It is used to model plausible reasoning where defaults may be overridden. For example, it is typically true that birds fly, so we could conclude that Tweety flies since Tweety is a bird. However, if we are later told Tweety is a penguin, we would retract the conclusion that Tweety flies since penguins do not fly despite being birds. Non-monotonic reasoning resolves inconsistencies by removing conclusions derived from default rules when specific countervailing information is received.