Natural deduction as higher-order resolution
Journal of Logic Programming
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Elf: a language for logic definition and verified metaprogramming
Proceedings of the Fourth Annual Symposium on Logic in computer science
Unification under a mixed prefix
Journal of Symbolic Computation
Logic programming in a fragment of intuitionistic linear logic
Papers presented at the IEEE symposium on Logic in computer science
Tabled evaluation with delaying for general logic programs
Journal of the ACM (JACM)
An abstract machine for tabled execution of fixed-order stratified logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A semantic model of types and machine instructions for proof-carrying code
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient resource management for linear logic proof search
Theoretical Computer Science - Special issue on proof-search in type-theoretic languages
Justifying proofs using memo tables
Proceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming
Oracle-based checking of untrusted software
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
OLD Resolution with Tabulation
Proceedings of the Third International Conference on Logic Programming
Logic Programming and Model Checking
PLILP '98/ALP '98 Proceedings of the 10th International Symposium on Principles of Declarative Programming
Resource-Distribution via Boolean Constraint (Extended Abstract)
CADE-14 Proceedings of the 14th International Conference on Automated Deduction
System Description: Twelf - A Meta-Logical Framework for Deductive Systems
CADE-16 Proceedings of the 16th International Conference on Automated Deduction: Automated Deduction
Intensionality, Extensionality, and Proof Irrelevance in Modal Type Theory
LICS '01 Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science
Higher-order rewriting with dependent types (lambda calculus)
Higher-order rewriting with dependent types (lambda calculus)
Tabled higher-order logic programming
Tabled higher-order logic programming
Focusing the Inverse Method for LF: A Preliminary Report
Electronic Notes in Theoretical Computer Science (ENTCS)
Higher-order term indexing using substitution trees
ACM Transactions on Computational Logic (TOCL)
Proof pearl: the power of higher-order encodings in the logical framework LF
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
ICLP'05 Proceedings of the 21st international conference on Logic Programming
Tabling for higher-order logic programming
CADE' 20 Proceedings of the 20th international conference on Automated Deduction
Hi-index | 0.00 |
Higher-order logic programming languages such as Elf extend first-order logic programming in two ways: first-order terms are replaced with (dependently) typed 驴-terms and the body of clauses may contain implication and universal quantification. In this paper, we describe tabled higher-order logic programming where some redundant computation is eliminated by memoizing sub-computation and re-using its result later. This work extends Tamaki and Sato's search strategy based on memoization to the higher-order setting. We give a proof-theoretic characterization of tabling based on uniform proofs and prove soundness of the resulting interpreter. Based on it, we have implemented a prototype of a tabled logic programming interpreter for Elf.