Termination of Narrowing in Left-Linear Constructor Systems

Germán Vidal

Narrowing extends rewriting with logic capabilities by allowing logic variables in terms and replacing matching with unification. Narrowing has been widely used in different contexts, ranging from theorem proving (e.g., protocol verification) to language design (e.g., it forms the basis of functional logic languages). Surprisingly, the termination of narrowing has been mostly overlooked. In this paper, we present a new approach for analyzing the termination of narrowing in left-linear constructor systems|a widely accepted class of systems|that allows us to reuse existing methods in the literature on termination of rewriting.

Available: PDF / BibTeX entry


Germán Vidal