A Structural Proof of the Soundness of Rely/guarantee Rules

  • Authors:
  • Joey W. Coleman;Cliff B. Jones

  • Affiliations:
  • -;-

  • Venue:
  • Journal of Logic and Computation
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Various forms of rely/guarantee conditions have been used to record and reason about interference in ways that provide compositional development methods for concurrent programs. This article illustrates such a set of rules and proves their soundness. The underlying concurrent language allows fine-grained interleaving and nested concurrency; it is defined by an operational semantics; the proof that the rely/guarantee rules are consistent with that semantics (including termination) is by a structural induction. A key lemma which relates the states which can arise from the extra interference that results from taking a portion of the program out of context makes it possible to do the proofs without having to perform induction over the computation history. This lemma also offers a way to think about expressibility issues around auxiliary variables in rely/guarantee conditions.