Abstract
We show that the Hoare Calculus for the language of finitely typed λ-terms, introduced in Go 85, is complete in the sense of Cook, i. e. complete for expressive interpretations, if the first-order theory of the interpretation is supplied as oracle. This is the classical notion of completeness for Hoare Calculi [Ap 81]. In Go 85 completeness in the sense of Cook was only proved with respect to Herbrand definable interpretations, which is much easier because of the characterizations in Ur 83, and amounts essentially to completeness for arithmetic and finite interpretations.
The completeness result above implies that we get — in a uniform manner as demonstrated in Go 87 — Hoare Calculi which are complete in the sense of Cook for imperative languages with control structures ranging from normal recursive procedures with local variables (i. e. variables declared by new x) to recursive procedures and functions of higher type (without global variables [Cl 79]). No such calculi were known for languages with higher type procedures and functions, hence we solve positively a question in TrHaMe 83.
Preview
Unable to display preview. Download preview PDF.
References
Apt, K. R., Ten years of Hoare's Logic, a survey, part I, ACM TOPLAS vol 3, 1981, 431–483.
Clarke E. M., Programming languages for which it is impossible to obtain good Hoare-like axioms, JACM vol 26, 1979, 129–147.
Clarke, E. M., The characterization problem for Hoare Logic, Report no CS-84-109, Carnegie Mellon University, 1984.
Clarke, E. M., German, S. M., Halpern, J., Effective axiomatizations of Hoare Logics, JACM vol 30, 1983, 612–636.
Damm, W., Josko, B., A sound and relatively* complete Hoare Logic for a language with higher type procedures, Acta Informatica vol 20, 1983, 59–101.
de Bakker, J. W., Meyer, J.-J. Ch., Klop, J. W., Correctness of programs with function procedures, Logics of Programs 1981, LNCS vol 134, 1982, 94–112.
Ernst, G. W., Navlakha, J. K., Ogden, W. F., Verification of programs with procedure type parameters, Acta Informatica vol 18, 1982, 149–169.
Fernando, T., Leivant, D., Skinny and fleshy failures of relative completeness, 14th POPL, 1986.
German, S. M., Clarke, E. M., Halpern, J. Y., Reasoning about procedures as parameters, Logics of programs 1983, LNCS vol 164, 1984, 206–220.
-, True relative completness of a Hoare Calculus for L4, LICS 1986, 1986.
Goerdt, A., A Hoare Calculus for functions defined by recursion on higher types, Logics of programs 1985, LNCS vol 193, 1985, 106–117.
-, Hoare Logic for Lambda-Terms as a basis of Hoare Logic for imperative languages, LICS 1987, 1987, 293–299.
Halpern, J. Y., A good Hoare axiom system for an Algol-like language, 11th POPL, 1983, 262–271.
Hungar, H., A characterization of expressive interpretations, Report no 8705, Institut für Informatik und Praktische Mathematik, Christian-Albrechts-Universität Kiel, 1987.
Kfoury, A. J., Definability by programs in first-order structures, TCS vol 25, 1983, 1–66.
Kfoury, A. J., Urzyczyn, P., Necessary and sufficient conditions for the universality of programming formalisms, Acta Informatica vol 22, 1985, 347–377.
Langmaack, H., Aspects of programs with finite modes, FCT 1983, LNCS 158, 1983, 241–254.
Loeckx, J., Sieber, K., The foundations of program verification, Teubner Verlag, Wiley & Sons, 1984.
Olderog, E. R., Correctness of programs with Pascal-like procedures without global variables, TCS vol 30, 1984, 49–90.
Shepherdson, J. C., Computation over abstract structures: serial and parallel procedures and Friedman's effective definitional schemes, Logic Colloquium 1973, North Holland, 1975, 445–531.
Shepherdson, J. C., Algorithmic procedures, generalized Turing Algorithms, and elementary recursion theory, Harvey Friedman's research on the foundations of mathematics, North Holland,1985, 285–308.
Trakhtenbrot, B. A., Halpern, J. Y., Meyer, A. R., From denotational to operational semantics for Algol-like languages: an overview, Logics of Programs 1983, LNCS 164, 1984, 473–500.
Urcyczyn, P., A necessary and sufficient condition in order that a Herbrand interpretation be expressive relative to recursive programs, Information and Control vol 56, 1983, 212–219.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1988 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Goerdt, A. (1988). Hoare calculi for higher — type control siructures and their completeness in the sense of cook. In: Chytil, M.P., Koubek, V., Janiga, L. (eds) Mathematical Foundations of Computer Science 1988. MFCS 1988. Lecture Notes in Computer Science, vol 324. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017156
Download citation
DOI: https://doi.org/10.1007/BFb0017156
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-50110-7
Online ISBN: 978-3-540-45926-2
eBook Packages: Springer Book Archive