5.2.2 Inferential Closure Algorithm

We now outline at a fairly abstract level an algorithm for computing the inferential closure of a set of Literals, given a set of inference rules. Given a literal X and an inference rule R, we write R(X) for the set of literals which can be derived by applying R to X. Our first algorithm is:

We can improve on this algorithm by distinguishing between literals which have already been processed (i. e. cannot contribute new conclusions) and those which are yet unprocessed. Thus, we distinguish two sets of literals: DONE and TODO. Our second algorithm is:

The datastructure used to implement TODO is often called an agenda. It is typically either a stack or a queue.


Denys Duchier, Claire Gardent and Joachim Niehren
Version 1.3.99 (20050412)