Memra

Nonmonotonic reasoning & truth maintenance

◈ 5 cards

Abduction, the three assumptions of classical logic that fail in practice, defeasible reasoning, the closed-world assumption, and JTMS/ATMS truth-maintenance systems with dependency-directed backtracking.

Abduction: reasoning backward from effects

Classical inference runs forward: given and , conclude (modus ponens, sound). Abduction runs the other way — given and observed , conclude — inferring the most likely cause from an observed effect. It is logically unsound ( could have other causes) yet indispensable: causes imply effects (a bad battery causes dim lights), but diagnosis must work backward from the dim lights to the battery. Expert systems lean on abductive rules and attach certainty factors precisely because the inference is not deductively guaranteed.

Three assumptions of classical logic that real problems break

Conventional predicate logic quietly assumes:

  1. Sufficiency — all knowledge needed to solve the problem is represented. (Fails: diagnosis works with incomplete patient data.)
  2. Consistency — no two facts contradict. (Fails: we entertain competing hypotheses at once.)
  3. Monotonicity — the set of believed truths only grows as we infer; nothing is ever retracted. (Fails: a new test result can overturn a prior conclusion.)

Nonmonotonic reasoning relaxes all three. It is called defeasible because a previously drawn conclusion can be defeated by later information. The classic device is the ‘unless’ (default) operator: unless captures “birds fly unless they are abnormal.” The conclusion holds as long as is not believed; if it later becomes believed, and everything resting on it must be retracted. (Reiter’s default logic generalizes this with rules — “if is provable and is consistent to assume, conclude ” — producing multiple plausible extensions.)

The closed-world assumption

The closed-world assumption (CWA) says: anything not provable from the knowledge base is taken to be false. It is what lets a database answer “no flight at 14:05” by failing to find one, and it is exactly the assumption behind Prolog’s negation as failure. CWA is a form of default reasoning — and it is nonmonotonic, because adding a fact can flip a previous “false” answer to “true.”

Truth-maintenance systems (TMS)

If conclusions can be retracted, the system must know which conclusions depend on which assumptions so it can retract surgically rather than recompute from scratch. A truth-maintenance system records the justification (dependency) of every belief.

  • A JTMS (Justification-Based TMS, Doyle 1979) labels each node IN (believed) or OUT (not believed); each justification lists the IN-nodes and OUT-nodes that together support a belief. Its three operations are inspection (“should I believe ? what assumptions underlie it?”), modification (add propositions, premises, contradictions), and update (recompute the IN/OUT labels when the network changes). The JTMS is cleanly separated from the problem solver — one TMS design serves theorem provers, expert systems, and planners alike.
  • An ATMS (Assumption-Based TMS, deKleer 1984) labels each node with the set of minimal assumption sets under which it holds — representing all possible belief states at once, which is ideal for design and diagnosis (each assumption set is a fault hypothesis), at the cost of potentially exponential bookkeeping.

When a contradiction is found, a TMS performs dependency-directed backtracking: instead of undoing the last inference steps in order (chronological backtracking), it jumps straight to the assumption responsible and retracts only the conclusions that actually depend on it — often saving most of the work.

in-listout-listbird(tweety)INabnormal(tweety)OUTflies(tweety)INMake abnormal(tweety) IN and flies(tweety) flips to OUT.
What a JTMS actually stores: not the belief, but <em>why</em> it is held. flies(tweety) is IN only while bird(tweety) is IN <em>and</em> abnormal(tweety) is OUT. Label abnormal(tweety) IN and the update pass flips flies(tweety) to OUT — and, because the dependency is recorded, retracts exactly what rested on it and nothing else. That is dependency-directed backtracking.
NORMAL ~/memra/learn/comp-456/nonmonotonic-reasoning-truth-maintenance utf-8 LF