Static Analysis Techniques for Equational Logic Programming
Rakesh M. Verma

TL;DR
This paper introduces static analysis techniques for equational logic programming, enhancing efficiency and flexibility, with implementations in the $LR^2$ system that support non-left-linear rules and tabling for normal form computation.
Contribution
The paper presents novel static analysis methods for equational logic programming, including support for non-left-linear rules and a tabling approach based on congruence closure, implemented in $LR^2$.
Findings
Efficient rewriting techniques developed in $LR^2$.
Support for non-left-linear rules in most contexts.
Tabling approach improves computation of normal forms.
Abstract
An equational logic program is a set of directed equations or rules, which are used to compute in the obvious way (by replacing equals with ``simpler'' equals). We present static analysis techniques for efficient equational logic programming, some of which have been implemented in , a laboratory for developing and evaluating fast, efficient, and practical rewriting techniques. Two novel features of are that non-left-linear rules are allowed in most contexts and it has a tabling option based on the congruence-closure based algorithm to compute normal forms. Although, the focus of this research is on the tabling approach some of the techniques are applicable to the untabled approach as well. Our presentation is in the context of , which is an interpreter, but some of the techniques apply to compilation as well.
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 · Formal Methods in Verification · Logic, Reasoning, and Knowledge
