 
Summary: A Needed Narrowing Strategy
Journal of the ACM, Volume 47, No. 4 (Jul. 2000) pp. 776822
SERGIO ANTOY
Portland State University, Portland, Oregon
RACHID ECHAHED
Laboratoire LEIBNIZ, Institut IMAG, Grenoble, France
MICHAEL HANUS
ChristianAlbrechtsUniversit¨at zu Kiel, Germany
Abstract: The narrowing relation over terms constitutes the basis of the most important op
erational semantics of languages that integrate functional and logic programming paradigms. It
also plays an important role in the definition of some algorithms of unification modulo equational
theories which are defined by confluent term rewriting systems. Due to the inefficiency of simple
narrowing, many refined narrowing strategies have been proposed in the last decade. This paper
presents a new narrowing strategy which is optimal in several respects. For this purpose we propose
a notion of a needed narrowing step that, for inductively sequential rewrite systems, extends the
Huet and L´evy notion of a needed reduction step. We define a strategy, based on this notion,
that computes only needed narrowing steps. Our strategy is sound and complete for a large class
of rewrite systems, is optimal w.r.t. the cost measure that counts the number of distinct steps of
a derivation, computes only incomparable and disjoint unifiers, and is efficiently implemented by
unification.
