Extraction of redundancy-free programs from constructive natural deduction proofs
Journal of Symbolic Computation
A framework for defining logics
Journal of the ACM (JACM)
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Encoding a Dependent-Type Lambda-Calculus in a Logic Programming Language
Proceedings of the 10th 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
Specifying and implementing theorem provers in a higher-order logic programming language
Specifying and implementing theorem provers in a higher-order logic programming language
A proof theory for generic judgments
ACM Transactions on Computational Logic (TOCL)
Electronic Notes in Theoretical Computer Science (ENTCS)
Combining Generic Judgments with Recursive Definitions
LICS '08 Proceedings of the 2008 23rd Annual IEEE Symposium on Logic in Computer Science
A framework for specifying, prototyping, and reasoning about computational systems
A framework for specifying, prototyping, and reasoning about computational systems
Eliminating redundancy in higher-order unification: a lightweight approach
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
Focused inductive theorem proving
IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
Towards extracting explicit proofs from totality checking in twelf
Proceedings of the Eighth ACM SIGPLAN international workshop on Logical frameworks & meta-languages: theory & practice
Reasoning about higher-order relational specifications
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Subformula linking as an interaction method
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Hi-index | 0.00 |
Dependently typed λ-calculi such as the Logical Framework (LF) can encode relationships between terms in types and can naturally capture correspondences between formulas and their proofs. Such calculi can also be given a logic programming interpretation: the Twelf system is based on such an interpretation of LF. We consider here whether a conventional logic programming language can provide the benefits of a Twelf-like system for encoding type and proof-and-formula dependencies. In particular, we present a simple mapping from LF specifications to a set of formulas in the higher-order hereditary Harrop (hohh) language, that relates derivations and proof-search between the two frameworks. We then show that this encoding can be improved by exploiting knowledge of the well-formedness of the original LF specifications to elide much redundant type-checking information. The resulting logic program has a structure that closely resembles the original specification, thereby allowing LF specifications to be viewed as hohh meta-programs. Using the Teyjus implementation of λ Prolog, we show that our translation provides an efficient means for executing LF specifications, complementing the ability that the Twelf system provides for reasoning about them.