Every day, we are confronted by a constant stream of problems-what to eat for breakfast, how to get to work, when to schedule meetings, etc. In order to make intelligent plans and decisions, we must rely on information. Unfortunately, the information we must rely on is often inaccurate and occasionally outright contradictory. In most cases, we would prefer not to simply give up and leave our goals unachieved, so we try to move forward as best we can using what knowledge we have.
A basic computer reasoning system, on the other hand, would not be able to recover and continue quite so easily in the face of contradiction. Without any checks for contradictory beliefs, a deductive inference engine could theoretically deduce that anything is true if it is provided contradictory information. The simplest solution to this problem is to halt the inference engine when a contradiction is found. Although this may prevent the system from proving every possible proposition ad infinitum, it does not provide much practical help.
Doyle  designed a Truth Maintenance System (TMS) as an alternative solution. Doyle's TMS keeps track of the justifications for beliefs as an inference engine runs. When a contradiction is found within the belief set, the TMS changes one of the initial assumptions to remove the contradiction and inference can resume. The methods Doyle suggests for selecting which assumption to change are either random or require some a priori domain-dependent control to be programmed into the justifications of the assumptions. A deterministic domain-independent method must exist for selecting which assumption to reject when a contradiction is found. If the method is based on an understanding of human cognition, then a reasoning system that makes use of this method might be able to better imitate human cognition.