Skip to content

Static Analysis Techniques for Equational Logic Programming

Rakesh M. Verma

cs.LOarXiv:cs/0010034

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 LR2, a laboratory for developing and evaluating fast, efficient, and practical rewriting techniques. Two novel features of LR2 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 LR2, which is an interpreter, but some of the techniques apply to compilation as well.

Create a lesson