A Meta-Programming Approach to Realizing Dependently Typed Logic Programming
Zachary Snow, David Baelde, Gopalan Nadathur

TL;DR
This paper introduces a method to translate dependently typed lambda calculus specifications into higher-order hereditary Harrop logic, enabling efficient execution and reasoning in a logic programming framework similar to Twelf.
Contribution
It presents a novel mapping from LF to hohh logic, improving efficiency by leveraging well-formedness, and demonstrates practical implementation using lambdaProlog.
Findings
Efficient translation from LF to hohh logic.
Reduces redundant type-checking in the encoding.
Enables LF specifications to be executed as logic programs.
Abstract
Dependently typed lambda 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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Logic, Reasoning, and Knowledge · Formal Methods in Verification
