Summary
Proof methods adequate for a wide range of computer programs have been given in [1–6]. This paper develops a method suitable for programs which incorporate coroutines. The implementation of coroutines described follows closely that given in SIMULA [7, 8], a language in which such features may be used to great advantage. Proof rules for establishing the correctness of coroutines are given and the method is illustrated by the proof of a useful program for histogram compilation.
Similar content being viewed by others
References
Hoare, C. A. R.: An axiomatic basis for computer programming. Comm. A.C.M.12, 576–580 (1969).
Hoare, C. A. R.: Procedures and parameters; An Axiomatic Approach, Symposium on the Semantics of Algorithmic Languages (ed. E. Engeler) pp. 102–116, Springer-Verlag, 1971.
Hoare, C. A. R.: Proof of a program: FIND, Comm. A.C.M.,14, 39–45 (1971).
Clint, M., Hoare, C. A. R.: Program proving: Jumps and functions. Acta Informatica1, 214–224 (1972).
Foley, M.: Proof a recursive procedure quicksort: A comparison of two methods, Master's Dissertation, The Queen's University of Belfast 1969.
Foley, M., Hoare, C. A. R.: Proof of a recursive program: Quicksort. Comp. J.14, 391–395 (1971).
Dahl, O.-J., Nygaard, K.: SIMULA — a language for programming and description of discrete event systems, introduction and user's manual. Norwegian Computing Center, Forskningsveien 1B, Oslo 3, Norway, May 1965.
Dahl, O.-J., Nygaard, K.: SIMULA — An ALGOL-based simulation language. Comm. A.C.M.9, 671–678 (1966).
Conway, M. E.: Design of a separable transition diagram compiler. Comm. A.C.M.6, 396–408 (1963).
Wang, A., Dahl, O.-J.: Coroutine Sequencing in a Block Structured Environment. Lecture notes, International Summer School on Program Structures and Fundamental Concepts of Programming, Munich, Germany, July 1971.
Foley, M.: The function PREC, Internal report, Department of Computer Science, The Queen's University of Belfast, 1970.
King, J. C.: A Program Verifier, Doctoral Dissertation, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, Pennsylvania, September 1969.
Dahl, O.-J.: Discrete event simulation languages. Programming Languages (F. Genuys, Ed.), pp. 349–395, Academic Press, 1968.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Clint, M. Program proving: Coroutines. Acta Informatica 2, 50–63 (1973). https://doi.org/10.1007/BF00571463
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00571463