Section: Scientific Foundations
Reachability analysis over term rewriting systems
Term rewriting systems are a very general, simple and convenient formal model for a large variety of computing systems. For instance, it is a very simple way to describe deduction systems, functions, parallel processes or state transition systems where rewriting models respectively deduction, evaluation, progression or transitions. Furthermore rewriting can model every combination of them (for instance two parallel processes running functional programs).
In rewriting, the problem of reachability is well-known: given a term rewriting system and two ground terms s and t , t is -reachable from s if s can be finitely rewritten into t by , which is formally denoted by . On the opposite, t is -unreachable from s if s cannot be finitely rewritten into t by , denoted by .
Depending on the computing system modelled using rewriting, a deduction system, a function, some parallel processes or state transition systems, reachability (and unreachability) permit to achieve some verifications on the system: respectively prove that a deduction is feasible, prove that a function call evaluates to a particular value, show that a process configuration may occur, or that a state is reachable from the initial state. As a consequence, reachability analysis has several applications in equational proofs used in the theorem provers or in the proof assistants as well as in verification where term rewriting systems can be used to model programs.
We are interested in proving (as automatically as possible) reachability or unreachability on term rewriting systems for verification and automated deduction purposes. The reachability problem is known to be decidable for terminating term rewriting systems. However, in automated deduction and in verification, systems considered in practice are rarely terminating and, even when they are, automatically proving their termination is difficult. On the other hand, reachability is known to be decidable on several syntactic classes of term rewriting systems (not necessarily terminating nor confluent). On those classes, the technique used to prove reachability is rather different and is based on the computation of the set of -reachable terms of an initial set of terms E . For those classes, is a regular tree language and can thus be represented using a tree automaton . Tree automata offer a finite way to represent infinite (regular) sets of reachable terms when a non terminating term rewriting system is under concern.
For the negative case, i.e. proving that , we already have some results based on the over-approximation of the set of reachable terms  ,  . Now, we focus on a more general approach dealing with the positive and negative case at the same time. We propose a common, simple and efficient algorithm  for computing exactly known decidable regular classes for as well as to construct some approximation when it is not regular. This algorithm is essentially a completion of a tree automata , thus taking advantage of an algorithm similar to the Knuth-Bendix  completion in order not to restrict to a specific syntactic class of term rewriting systems and tree automata in order to deal efficiently with infinite sets of reachable terms produced by non-terminating term rewriting systems.