## A Logic Programming Approach to Implementing Higher-Order Term Rewriting (1992)

Venue: | Second International Workshop on Extensions to Logic Programming, volume 596 of Lecture Notes in Arti Intelligence |

Citations: | 16 - 2 self |

### BibTeX

@INPROCEEDINGS{Felty92alogic,

author = {Amy Felty},

title = {A Logic Programming Approach to Implementing Higher-Order Term Rewriting},

booktitle = {Second International Workshop on Extensions to Logic Programming, volume 596 of Lecture Notes in Arti Intelligence},

year = {1992},

pages = {135--161},

publisher = {Springer-Verlag}

}

### OpenURL

### Abstract

Term rewriting has proven to be an important technique in theorem proving. In this paper, we illustrate that rewrite systems and strategies for higher-order term rewriting, which includes the usual notion of first-order rewriting, can be naturally specified and implemented in a higher-order logic programming language. We adopt a notion of higher-order rewrite system which uses the simply typed -calculus as the language for expressing rules, with a restriction on the occurrences of free variables on the left hand sides of rules so that matching of terms with rewrite templates is decidable. The logic programming language contains an implementation of the simply-typed lambda calculus including fij- conversion and higher-order unification. In addition, universal quantification in queries and the bodies of clauses is permitted. For higher-order rewriting, we show how these operations implemented at the meta-level provide elegant mechanisms for the object-level operations of descending thro...