Names of functions are located in the package RS-USER.

Demonstration Files Functions Demonstrates
Combinatorial Problems/Scheduling queens.lisp
(n-queens problem)
queens (backtracking search), queens2 (local search) backtrack, specialization of added-assumption, assume-slot-values
(Sudoku puzzle generator and solver)
sugen (local search), susolve (backtracking search) backtrack, specialization of order-control-disjunction and added-assumption, specialization of validate-combination, assume-slot-values
Planning miss.lisp (missionaries-and-cannibals problem) miss solutions, non-monotonic reasoning, :assume qualifier, :count slot option, assume-slot-values
blocks.lisp (blocks world) blocks solutions, non-monotonic reasoning, :assume qualifier, :count slot option, :inverse slot option, assume-slot-values
Multiple-Fault Diagnosis mult.lisp diagnoses1, diagnoses2 solutions, non-monotonic reasoning, constraints, composite objects
Counterfactuals boris.lisp if-boris solutions, non-monotonic reasoning, :assume qualifier
Temporal Reasoning career.lisp career1, career2 solutions, non-monotonic reasoning, :assume qualifier, :count slot option, composite objects

Note on Non-Monotonic Reasoning

Non-monotonic (or defeasible) reasoning is the the norm in practical, everyday problem-solving: it is reasoning under conditions of uncertainty, from incomplete or unreliable information. Such inferences do not carry a guarantee of soundness and may later need to be revised.

The temporal reasoning demonstration clearly illustrates this phenomenon. Assimilating a hiring or promotion event may result in a revision of a inference about a person's employment status made from their employment history.

The ATMS is used to realize non-monotonic reasoning by entirely extra-logical means.

The counterfactuals demonstration concerns statements of the form ‘if such-and-such were the case, then such-and-such would be the case’. It employs a treatment of such statements not simply as implicational rules whose antecedent happens to be false, but as elliptical arguments. One counterfactual can be defeated by another: they sanction conclusions which may be contradicted by subsequently-acquired information.

Diagnosis is also non-monotonic in the sense that different diagnoses may result from an additional observation of the faulty system's behaviour.

The planning demonstrations illustrate the formulation of the actions relevant to (e.g.) a simple ‘blocks world’ problem as axioms whose consequent contradicts their antecedent. The law of contradiction is used to construct a new situation or possible world, given by a set of statements (i.e., slot values), comprising the consequent and all features of a previous situation that are consistent with it: information is ‘carried over’ from one situation to another in the absence of knowledge to the contrary.