λProlog is a logic programming language accepting a more general clause form than standard Prolog (hereditary Harrop formulas instead of Horn formulas) and using simply typed λ-terms as a term domain instead of first order terms. Despite these extensions, it is still amenable to goal-directed proofs and can still be given procedural semantics. However, the execution of λProlog programs requires several departures from the standard resolution scheme. First, the augmented clause form causes the program (a set of clauses) and the signature (a set of constants) to be changeable, but in a very disciplined way. Second, the new term domain introduces the need for a fi-reduction operation at run-time, and has a semi-decidable and infinitary unification theory. MALI is an abstract memory designed for storing the search-state of depth-first search processes. Its main feature is its efficient memory management. We have usedan original λProlog-to-(C+MALI) translation: predicates are transform..
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.