On the Church-Rosser and coherence properties of conditional order-sorted rewrite theories

https://doi.org/10.1016/j.jlap.2011.12.004Get rights and content
Under an Elsevier user license
open archive

Abstract

In the effort to bring rewriting-based methods into contact with practical applications both in programing and in formal verification, there is a tension between: (i) expressiveness and generality—so that a wide range of applications can be expressed easily and naturally— and (ii) support for formal verification, which is harder to get for general and expressive specifications. This paper answers the challenge of successfully negotiating the tension between goals (i) and (ii) for a wide class of Maude specifications, namely: (a) equational order-sorted conditional specifications (Σ,EA), corresponding to functional programs modulo axioms such as associativity and/or commutativity and/or identity axioms and (b) order-sorted conditional rewrite theories R=(Σ,EA,R,ϕ), corresponding to concurrent programs modulo axioms A. For Maude functional programs the key formal property checked is the Church-Rosser property. For concurrent declarative programs in rewriting logic, the key property checked is the coherence between rules and equations modulo the axioms A. Such properties are essential, both for executability purposes and as a basis for verifying many other properties, such as, for example, proving inductive theorems of a functional program, or correct model checking of temporal logic properties for a concurrent program. This paper develops the mathematical foundations on which the checking of these properties (or ground versions of them) is based, presents two tools, the Church-Rosser Checker (CRC) and the Coherence Checker (ChC) supporting the verification of these properties, and illustrates with examples a methodology to establish such properties using the proof obligations returned by the tools.

Keywords

Maude
Order-sorted conditional specifications
Rewriting modulo
Formal verification
Church-Rosser property
Coherence

Cited by (0)

This paper is an improved and substantially extended version of [27], [26].