Files in this item
|(no description provided)|
|Title:||Termination of non-simple rewrite systems|
|Author(s):||Hoot, Charles Glen|
|Doctoral Committee Chair(s):||Dershowitz, Nachum|
|Department / Program:||Computer Science|
|Degree Granting Institution:||University of Illinois at Urbana-Champaign|
|Abstract:||Rewriting is a computational process in which one term is derived from another by replacing a subterm with another subterm in accordance with a set of rules. If such a set of rules (rewrite system) has the property that no derivation can continue indefinitely, it is said to be terminating. Showing termination is an important component of theorem proving and of great interest in programming languages.
Two methods of showing termination for rewrite systems that are self-embedding are presented. These "non-simple" rewrite systems can not be shown terminating by any of what are called simplification orderings. The first method of termination employs lexicographic combinations of quasi-orderings including the ordering itself applied to multisets of immediate subterms in a general path ordering. Two versions are presented. The well-founded and well-quasi general path orderings respectively require their component orderings to be well-founded and well-quasi orderings. The definitions are shown to result in well-founded and well-quasi orderings, respectively. A general condition is presented for showing termination of a rewrite system with a quasi-ordering. Conditions on the component orderings are presented which guarantee that the general conditions are satisfied. The well-quasi general path ordering is applied to several examples to show termination.
The second method of showing termination is to use sets of derivations called the "forward closures" of a rewrite system. New results are derived that give syntactic conditions under which termination of the forward closures guarantees termination of the rewrite system. A theorem is presented that shows the relationship of forward closures with innermost rewriting. If there is a class of rewrite systems for which innermost rewriting implies termination, then termination of forward closures will imply termination as well. Restricting the set of forward closures to derivations which satisfy some strategy such as choosing an innermost redex is explored. Syntactic conditions are given for which termination of innermost or outermost forward closures implies termination in general. The method of forward closures is then used to show the termination of some example rewrite systems including the string rewriting system $0011\to 111000$.
A test for non-termination of a rewrite system using forward closures (FCT) is presented. A previous method (MSP) using semi-unification is analysed and it is shown that certain kinds of rewrite rules may be ignored without affecting the ability of MSP to detect non-termination. Using this result one can also show that FCT will detect non-termination in every case that MSP will, but not vice-versa. Results are also presented showing that information can be obtained from forward closures about the termination of innermost derivations from terms of limited size with all subterms in normal form. A method for computing innermost and outermost forward closures is presented which avoids extra checking of earlier parts of the derivations to guarantee the redexes remain innermost/outermost. Also given is a completion like method for generating an innermost locally confluent rewrite system which preserves innermost derivations of a given rewrite system.
Finally, there are appendices describing the interface to code written in common lisp which implements the well-quasi general path ordering and showing its usage to prove termination of a rewrite system for insertion sort.
|Rights Information:||Copyright 1996 Hoot, Charles Glen|
|Date Available in IDEALS:||2011-05-07|
|Identifier in Online Catalog:||AAI9712310|