@INPROCEEDINGS{AntoyEchahedHanus00JACM,
author = "Hanus, M. and Prehofer, C.",
title = "A Needed Narrowing Strategy",
journal = "Journal of the ACM",
volume = "47",
number = "4",
pages = "776-822",
year = "2000",
abstract = {
The narrowing relation over terms constitutes the basis of the most
important operational 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.
}
}

