Skip to main content
Log in

Temporal predicate transformers and fair termination

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

It is usually assumed that implementations of nondeterministic programs may resolve the nondeterminacy arbitrarily. In some circumstances, however, we may wish to assume that the implementation is in some sense fair, by which we mean that in its long-term behaviour it does not show undue bias in forever favouring some nondeterministic choices over others. Under the assumption of fairness many otherwise failing programs become terminating. We construct various predicate transformer semantics of such fairly-terminating programs. The approach is based on formulating the familiar temporal operators always, eventually, and infinitely often as predicate transformers. We use these operators to construct a framework that accommodates many kinds of fairness, including varieties of socalled weak and strong fairness in both their all-levels and top-level forms. Our formalization of the notion of fairness does not exploit the syntactic shape of programs, and allows the familiar nondeterminacy and fair nondeterminacy to be arbitrarily combined in the one program. Invariance theorems for reasoning about fairly terminating programs are proved. The semantics admits probabilistic implementations provided that unbounded fairness is excluded.

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

References

  1. Cousot, P., Cousot, R.: Constructive versions of Tarski's fixed point theorems. Pac. J. Math. 82, 43–57 (1979)

    Google Scholar 

  2. Dijkstra, E.W.: A discipline of programming. Englewood Cliffs, N.J.: Prentice-Hall 1976

    Google Scholar 

  3. Dijkstra, E.W.: Extreme solutions of equations. Univ. of Texas at Austin, EWD969, Sept. 1986

  4. Francez, N.: Fairness. Berlin Heidelberg New York: Springer 1986

    Google Scholar 

  5. Morris, J.M.: A theoretical basis for stepwise refinement and the programming calculus. Sci. Comput. Program. 9, 287–306 (1987)

    Google Scholar 

  6. Morris, J.M.: Well-founded induction and the invariance theorem for loops. Inf. Process. Lett. 32, 155–158 (1989)

    Google Scholar 

  7. Park, D.: On the semantics of fair parallelism. In: Bjørner, D. (ed) Abstract Software Specifications. Proceedings, Copenhagen 1979. (Lect. Notes Comput. Sci, vol. 86, pp. 504–526) Berlin Heidelberg New York: Springer 1980

    Google Scholar 

  8. Tarski, A.: A lattice theoretical fixpoint theorem and its applications. Pac. J. Math. 5, 285–309 (1955)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Morris, J.M. Temporal predicate transformers and fair termination. Acta Informatica 27, 287–313 (1990). https://doi.org/10.1007/BF00264610

Download citation

  • Received:

  • Issue Date:

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

Keywords

Navigation