We describe the design and implementation of a higher-order tabled logic programming interpreter where some redundant and infinite computation is eliminated by memoizing sub-computation and re-using its result later. In particular, we focus on the table design and table access in the higher-order setting where many common operations are undecidable in general. To achieve a space and time efficient, implementation, we rely on substitution factoring and higher-order substitution tree indexing. Experimental results from a wide range of examples (prepositional theorem proving, refinement type checking, small-step evaluator) demonstrate that higher-order tabled logic programming yields a more robust and more powerful proof procedure. © Springer-Verlag Berlin Heidelberg 2005.
CITATION STYLE
Pientka, B. (2005). Tabling for higher-order logic programming. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 3632 LNAI, pp. 54–68). Springer Verlag. https://doi.org/10.1007/11532231_5
Mendeley helps you to discover research relevant for your work.