Scoping Constructs in Logic Programming: Implementation Problems and their Solution
Gopalan Nadathur, Bharat Jayaraman, Keehang Kwon

TL;DR
This paper addresses implementation challenges in logic programming when incorporating universal quantification and implications in goals, proposing modifications to unification and program management for efficient execution.
Contribution
It introduces novel techniques for handling quantifiers and implications in logic programming, compatible with the Warren Abstract Machine, and extends support for higher-order features.
Findings
Modified unification with numerical tags respects quantifier order
Efficient implementation of implications with program clause management
Extensions for higher-order logic programming support
Abstract
The inclusion of universal quantification and a form of implication in goals in logic programming is considered. These additions provide a logical basis for scoping but they also raise new implementation problems. When universal and existential quantifiers are permitted to appear in mixed order in goals, the devices of logic variables and unification that are employed in solving existential goals must be modified to ensure that constraints arising out of the order of quantification are respected. Suitable modifications that are based on attaching numerical tags to constants and variables and on using these tags in unification are described. The resulting devices are amenable to an efficient implementation and can, in fact, be assimilated easily into the usual machinery of the Warren Abstract Machine (WAM). The provision of implications in goals results in the possibility of program…
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
