Automata Completion and Regularity Preservation
Résumé
We consider rewriting of a regular language with a left-linear term rewriting system. We show
two completeness theorems. The first one shows that, if the set of reachable terms is regular, then
the equational tree automata completion can compute it. This was known to be true for some
term rewriting system classes preserving regularity, but was still an open question in the general
case. The proof is not constructive because it depends on regularity of the set of reachable terms,
which is undecidable. The second theorem states that, if there exists a regular over-approximation
of the set of reachable terms then completion can compute it (or safely under-approximate it).
This theorem also provides an algorithmic way to safely explore regular approximations with
completion. This has been implemented and used to verify safety properties, automatically, on
first-order and higher-order functional programs. To carry out the proof, we also generalize and
improve two results of completion: the Termination and the Upper-Bound theorems.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...