An Implementation of the Language Lambda Prolog Organized around Higher-Order Pattern Unification
Xiaochu Qi

TL;DR
This paper presents an implementation of Lambda Prolog, a higher-order logic programming language, featuring a virtual machine, compilation strategies, and an emulator, to effectively support higher-order unification and lambda-tree syntax.
Contribution
It introduces a novel implementation framework for Lambda Prolog based on a restricted higher-order unification model, including a virtual machine and a portable emulator.
Findings
Efficient handling of higher-order unification in Lambda Prolog
Successful implementation of Teyjus Version 2 system
Experimental validation of design choices
Abstract
This thesis concerns the implementation of Lambda Prolog, a higher-order logic programming language that supports the lambda-tree syntax approach to representing and manipulating formal syntactic objects. Lambda Prolog achieves its functionality by extending a Prolog-like language by using typed lambda terms as data structures that it then manipulates via higher-order unification and some new program-level abstraction mechanisms. These additional features raise new implementation questions that must be adequately addressed for Lambda Prolog to be an effective programming tool. We consider these questions here, providing eventually a virtual machine and compilation based realization. A key idea is the orientation of the computation model of Lambda Prolog around a restricted version of higher-order unification with nice algorithmic properties and appearing to encompass most interesting…
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
