Summary
A simple language containing goto statements is presented, together with a denotational and operational semantic for it. Equivalence of these semantical descriptions is proven.
Furthermore, soundness and completeness of a Hoare-like proof system for the language is shown. This is done in two steps. Firstly, a proof system is given and validity is defined using (a variant of) direct semantics. In this case soundness and completeness proofs are relatively easy. After that, a proof system is given which is more in the style of the one by Clint and Hoare [8], and validity in this system is defined using continuation semantics. This validity definition is then related to validity in the first system and, using this correspondence, soundness and completeness for the second system is proven.
Similar content being viewed by others
References
Apt, K.R.: A sound and complete Hoare-like system for a fragment of PASCAL. Report IW 97/78 (preprint), Mathematical Centre, Amsterdam, 1978
Apt, K.R., de Bakker, J.W.: Semantics and proof theory of PASCAL procedures. In: Proceedings of the 4th colloquium on automata, languages and programming. Lecture Notes in Computer Science Vol. 52, pp. 30–44, Berlin Heidelberg New York: Springer 1977
Arbib, M.A., Alagić, S.: Proof rules for gotos. Acta Informat. 11, 139–148 (1979)
Back, R.J.R.: Exception handling with multi-exit statements. In: Programmiersprachen und Programmentwicklungen, (H.-J. Hoffmann, Hrsg.). Informatik-Fachberichte Nr. 25, Berlin Heidelberg New York: Springer 1980
Bakker, J.W. de: Mathematical theory of program correctness. London: Prentice Hall 1980
Bakker, J.W. de: Correctness proofs for assignment statements. Report IW 55/76, Mathematical Centre, Amsterdam 1976
Bjørner, D.: Experiments in block-structured goto language modelling: exits versus continuations. In: Winter school on formal specification methods. Lecture Notes in Computer Science Vol. 86 (D. Bjørner, Ed.), Berlin Heidelberg New York: Springer 1980
Clint, M., Hoare, C.A.R.: Program proving: jumps and functions. Acta Informat. 1, 214–224 (1972)
Cook, S.A.: Soundness and completeness of an axiom system for program verification. SIAM J. Comput. 7, 70–90 (1978)
Hoare, C.A.R.: An axiomatic basis for computer programming. Comm. ACM 12, 576–580, 583 (1969)
Jones, C.B.: Denotational semantics of goto: an exit formulation and its relation to continuations. In: The Vienna Development Method: the Meta-Language. Lecture Notes in Computer Science Vol. 61 (D. Bjørner, C.B. Jones, eds.) Berlin Heidelberg New York: Springer
Kieburtz, R.B., Cherniavsky, J.C.: Axioms for structural induction on programs containing block exits. In: Proceedings of the Symposium on Computer Software Engineering, Polytechnic Institute of New York, 1976
Milne, R., Strachey, C: A theory of programming language semantics. London: Chapman and Hall, New York: Wiley (2 Vols) 1976
Nassi, I.R., Akkoyunlu, E.A.: Semantics of repeat break control structure. In: Proceedings of the 8th Princeton Conference on Information Sciences and Systems, pp. 316–321, Princeton University, Dept. of Electrical Engineering New York, 1974
Scott, D., Strachey, C.: Towards a mathematical semantics for computer languages. Proc. Symp. on computers and automata, Polytechnic Institute of Brooklyn, pp. 19–46 (1971); also: Techn. Mon. PRG-6, Oxford Univ. Computing Lab.
Stoy, J.E.: Denotational semantics — the Scott-Strachey approach to programming language theory. Cambridge, Mass: M.I.T. Press 1977
Strachey, C., Wadsworth, C.: Continuations, a mathematical semantics for handling full jumps. Tech. Mon. PRG-11, Oxford Univ. Computing Lab., Programming research group (1974)
Wand, M.: A new incompleteness result for Hoare's system. J. Assoc. Comput. Mach. 25, 168–175 (1978)
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
de Bruin, A. Goto statements: semantics and deduction systems. Acta Informatica 15, 385–424 (1981). https://doi.org/10.1007/BF00264536
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00264536