In this paper, we review several methods for proving termination of rewrite programs or answer questions about normal forms. We concentrate on the methods that have been designed in ELAN and which are useful for studying termination and normal forms of ELAN programs. We address several problems: general termination of a rewrite program, innermost termination on sets of ground terms, computation or approximation of the set of normal forms, modular termination of the union of rewrite systems, estimation of the number of normal forms for a non-deterministic rewrite program with strategies. For each point we briefly present one method, explain its scope and give references to other methods concerning the same problem, before describing the implementation in ELAN. We conclude with some open questions.
Read full abstract