Time-ordered forward deduction a bottom-up evaluation strategy for Starlog
Starlog, a Horn clause logic programming language, allows for time stamps, interval arithmetic, and negations. A bottom-up evaluation strategy, called "Time-ordered Forward Deduction", for the language is described. The algorithm heavily relies on time stratification as its basic execution control mechanism. A conservative approach has been adopted to handle negations, which defers the evaluation of negations until it is safe to do so. Various techniques to deal with subtle cases of inter-clause relations in negation evaluation are discussed. To illustrate the algorithm, some simple but non-trivial example programs are presented.