## Section: Scientific Foundations

Keywords : Term rewriting systems, reachability analysis, tree automata.

### 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
[40] ,
[41] . 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
[7] 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
[46] *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.