Hoare Logics for Recursive Procedures and Unbounded Nondeterminism

This paper presents sound and complete Hoare logics for partial and total correctness of recursive parameterless procedures in the context of unbounded nondeterminism. For total correctness, the literature so far has either restricted recursive procedures to be deterministic or has studied unbounded nondeterminism onlyi n conjunction with loops rather than procedures. We consider both single procedures and systems of mutuallyrecu rsive procedures. All proofs have been checked with the theorem prover Isabelle/HOL.

[1]  Thomas Schreiber,et al.  Auxiliary Variables and Recursive Procedures , 1997, TAPSOFT.

[2]  Peter V. Homeier,et al.  Mechanical Verification of Mutually Recursive Procedures , 1996, CADE.

[3]  Mathai Joseph,et al.  A Structure-Directed Total Correctness Proof Rule for Recursive Procedure Calls , 1986, Comput. J..

[4]  Stefan Sokolowski Total Correctness for Procedures , 1977, MFCS.

[5]  Michael Marcotty,et al.  Procedures and Parameters , 1987 .

[6]  Ernst-Rüdiger Olderog,et al.  On the Notion of Expressiveness and the Rule of Adaption , 1983, Theor. Comput. Sci..

[7]  James R. Bell,et al.  A new method for determining linear precedence functions for precedence grammars , 1969, CACM.

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

[9]  Krzysztof R. Apt,et al.  Countable nondeterminism and random assignment , 1986, JACM.

[10]  Robert Cartwright,et al.  The logic of aliasing , 1981, Acta Informatica.

[11]  Krzysztof R. Apt,et al.  Ten Years of Hoare's Logic: A Survey—Part I , 1981, TOPL.

[12]  Krzysztof R. Apt,et al.  Ten Years of Hoare's Logic: A Survey Part II: Nondeterminism , 1984, Theor. Comput. Sci..

[13]  Peter V. Homeier,et al.  Mechanical Verification of Total Correctness through Diversion Verification Conditions , 1998, TPHOLs.

[14]  Tobias Nipkow,et al.  A Proof Assistant for Higher-Order Logic , 2002 .

[15]  David von Oheimb Hoare Logic for Mutual Recursion and Local Variables , 1999, FSTTCS.

[16]  Wolfgang Thomas Semantik und Verifikation , 1993, Perspektiven der Informatik.

[17]  C. A. R. Hoare,et al.  Procedures and parameters: An axiomatic approach , 1971, Symposium on Semantics of Algorithmic Languages.

[18]  Tobias Nipkow,et al.  Winskel is (almost) Right: Towards a Mechanized Semantics Textbook , 1996, Formal Aspects of Computing.

[19]  David A. Naumann,et al.  Calculating sharp adaptation rules , 2001, Inf. Process. Lett..

[20]  R. Pollack The Theory of LEGO A Proof Checker for the Extended Calculus of Constructions , 1994 .

[21]  Frank S. de Boer,et al.  Proving Total Correctness of Recursive Procedures , 1990, Inf. Comput..