Skip to main content
Log in

Reasoning algebraically about loops

  • Published:
Acta Informatica Aims and scope Submit manuscript

Abstract.

We show how to formalise different kinds of loop constructs within the refinement calculus, and how to use this formalisation to derive general transformation rules for loop constructs. The emphasis is on using algebraic methods for reasoning about equivalence and refinement of loop constructs, rather than operational ways of reasoning about loops in terms of their execution sequences. We apply the algebraic reasoning techniques to derive a collection of transformation rules for action systems and for guarded loops. These include transformation rules that have been found important in practical program derivations: data refinement and atomicity refinement of action systems; and merging, reordering, and data refinement of loops with stuttering transitions.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Author information

Authors and Affiliations

Authors

Additional information

Received: 11 February 1998 / 18 March 1999

Rights and permissions

Reprints and permissions

About this article

Cite this article

Back, R., von Wright, J. Reasoning algebraically about loops. Acta Informatica 36, 295–334 (1999). https://doi.org/10.1007/s002360050163

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s002360050163

Keywords

Navigation