The idea of a * truth maintenance system* (* TMS*) grew out of
dependency-directed backtracking.

Given a set of boolean variables (or assumptions) * &Sigma * and a
set of boolean constraints * &Gamma * , the general problem is to find a
set of assignments to the variables that satisfies all the constraints.

Applications:

- Solve search problems, e.g., schedule meetings so that
everyone can attend.
- Determine what derived conclusions are still true when some facts change.
- Determine what part failures could have caused a machine to fail.

Constraints could be expressed as:

- A `digital electronics' network.
- A set of
`IN`and`OUT`nodes that must be satisfied for a node to be true (`IN`). - Logical relationships among boolean variables.