The characterization problem for Hoare logics

Research by this author and by others has shown that there are natural programming language control structures which are impossible to describe adequately by means of Hoare axioms. Specifically, we have shown that there are control structures for which it is impossible to obtain axiom systems that are sound and relatively complete in the sense of Cook. These constructs include procedures with procedure parameters under standard Algol 60 scope rules and coroutines in a language with parameterless recursive procedures. A natural question to ask is whether it is possible to characterize those programming languages for which sound and complete proof systems can be obtained. For a wide class of programming languages and interpretations, it can be shown that P has a sound and relatively complete proof system for every expressive interpretation iff the halting problem for language P is decidable for all finite interpretations. Nevertheless, we are still far from a completely satisfactory characterization of the programming languages that can be axiomatized in this manner. The proof system that is generated in proving the above result does not have the property of being "syntax-directed" which is distinctive of the Hoare axioms. Moreover, theoretical considerations suggest that good axioms for total correctness may exist for a wider spectrum of languages than is the case for partial correctness. In this paper we discuss these questions and others which still need to be addressed before the characterization problem can be considered solved.

[1]  Edmund M. Clarke,et al.  Programming Language Constructs for Which It Is Impossible To Obtain Good Hoare Axiom Systems , 1979, JACM.

[2]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[3]  Stephen A. Cook,et al.  Soundness and Completeness of an Axiom System for Program Verification , 1978, SIAM J. Comput..

[4]  Neil D. Jones,et al.  The Complexity of Finite Memory Programs with Recursion , 1976 .

[5]  J. W. de Bakker,et al.  On the Completeness of the Inductive Assertion Method , 1975, J. Comput. Syst. Sci..

[6]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[7]  Michal Grabowski On Relative Completeness of Hoare Logics , 1985, Inf. Control..

[8]  Joseph Y. Halpern,et al.  Reasoning About Procedures as Parameters , 1983, Logic of Programs.

[9]  Jan A. Bergstra,et al.  Expressiveness and the Completeness of Hoare's Logic , 1982, J. Comput. Syst. Sci..

[10]  Vaughan R. Pratt,et al.  SEMANTICAL CONSIDERATIONS ON FLOYD-HOARE LOGIC , 1976, FOCS 1976.

[11]  John-Jules Ch. Meyer,et al.  Correctness of Programs with Function Procedures , 1981, Logic of Programs.

[12]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[13]  Joseph Y. Halpern,et al.  On effective axiomatizations of Hoare logics , 1982, POPL '82.

[14]  Pawel Urzyczyn A Necessary and Sufficient Condition in Order That a Herbrand Interpretation Be Expressive Relative to Recursive Programs , 1983, Inf. Control..

[15]  Ernst-Rüdiger Olderog,et al.  A characterization of Hoare's logic for programs with Pascal-like procedures , 1983, STOC.

[16]  Vaughan R. Pratt,et al.  Semantical consideration on floyo-hoare logic , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).

[17]  Richard J. Lipton,et al.  A necessary and sufficient condition for the existence of hoare logics , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).