next up previous
Next: Incremental definitional trees Up: Incremental Needed Narrowing Previous: Preliminaries

Definitional trees

 

Given a TRS tex2html_wrap_inline1937 , a definitional tree tex2html_wrap_inline1787 with pattern tex2html_wrap_inline1993 is an expression of the formgif [Ant92]:

tex2html_wrap_inline1995
where tex2html_wrap_inline1997 is a variant of a rule tex2html_wrap_inline1999 .
tex2html_wrap_inline2001
where o is a variable position of tex2html_wrap_inline1993 (called the inductive position), tex2html_wrap_inline2007 are different constructors for n>0, and each tex2html_wrap_inline2011 is a definitional tree with pattern tex2html_wrap_inline2013 where k is the arity of tex2html_wrap_inline2017 and tex2html_wrap_inline2019 are new variables.

A defined symbol f is called inductively sequential if there exists a definitional tree tex2html_wrap_inline1787 with pattern tex2html_wrap_inline2025 (where tex2html_wrap_inline2019 are different variables) whose rule nodes contain all (and only) the rules defining f. In this case, we say that tex2html_wrap_inline1787 is a definitional tree for f. A TRS tex2html_wrap_inline1937 is inductively sequential if all its defined function symbols are inductively sequential. An inductively sequential TRS can be viewed as a set of definitional trees, each defining a function symbol.

  eje337

   figure351
Figure 1: Definitional tree for the function first

Definitional trees are used for describing needed narrowing computations as follows. A function tex2html_wrap_inline1801 from terms t and definitional trees to sets of triples tex2html_wrap_inline2043 determines each evaluation step. Here, p is a position in t, R is the rule to be applied, and tex2html_wrap_inline1885 is a substitution which should be applied to t before reducing it. Given an operation-rooted term t and a definitional tree tex2html_wrap_inline1787 with tex2html_wrap_inline2059 such that tex2html_wrap_inline2061 , then tex2html_wrap_inline2063 is defined as follows [AHLV99]:

displaymath1986

This definition ensures that, whenever tex2html_wrap_inline2099 , tex2html_wrap_inline2101 is a valid narrowing step which is called a needed narrowing step. Needed narrowing only evaluates subterms which are needed to compute a value and it is the best narrowing strategy for inductively sequential TRSs due to its optimality properties w.r.t. the length of derivations and the independency of computed solutions [AEH94].




next up previous
Next: Incremental definitional trees Up: Incremental Needed Narrowing Previous: Preliminaries

Santiago Escobar
Fri Sep 3 14:51:16 MET DST 1999