Semantical consideration on floyo-hoare logic

This paper deals with logics of programs. The objective is to formalize a notion of program description, and to give both plausible (semantic) and effective (syntactic) criteria for the notion of truth of a description. A novel feature of this treatment is the development of the mathematics underlying Floyd-Hoare axiom systems independently of such systems. Other directions that such research might take are also considered. This paper grew out of, and is intended to be usable as, class notes [27] for an introductory semantics course. The three sections of the paper are: 1. A framework for the logic of programs. Programs and their partial correctness theories are treated as binary relations on states and formulae respectively. Truth-values are assigned to partial correctness assertions in a plausible (Tarskian) but not directly usable way. 2. Particular Programs. Effective criteria for truth are established for some programs using the Tarskian criteria as a benchmark. This leads directly to a sound, complete, effective axiom system for the theories of these programs. The difficulties involved in finding such effective criteria for other programs are explored. The reader's attention is drawn to Theorems 4, 16, 18 and 22-24, as worthy of mention even out of the context in which they now appear. 3. Variations and extensions of the framework. Alternatives to binary relations for both programs and theories are speculated on, and their possible roles in semantics are considered. We discuss a hierarchy of varieties of programs and the importance of this hierarchy to the issues of definability and describability. Modal logic is considered as a first-order alternative to Floyd-Hoare logic. We give an appropriate axiom system which is complete for loop-free programs and also puts conventional predicate calculus in a different light by lumping quantifiers with non-logical assignments rather than treating them as logical concepts. Proofs of all theorems are relegated to an appendix.

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

[2]  Jerald Sydney Schwarz,et al.  Semantics of partial correctness formalisms. , 1975 .

[3]  Christopher Strachey,et al.  Toward a mathematical semantics for computer languages , 1971 .

[4]  Fred Kröger Logical Rules of Natural Reasoning about Programs , 1976, ICALP.

[5]  Zohar Manna,et al.  The Translation of 'Go To' Programs to 'While' Programs , 1971, IFIP Congress.

[6]  G. B. Keene ACTA PHILOSOPHICA FENNICA , 1964 .

[7]  J. Schwarz,et al.  Event Based Reasoning - A System for Proving Correct Termination of Programs , 1976, International Colloquium on Automata, Languages and Programming.

[8]  Willem P. de Roever,et al.  A Calculus for Recursive Program Schemes , 1972, ICALP.

[9]  Alfred V. Aho,et al.  Indexed Grammars—An Extension of Context-Free Grammars , 1967, SWAT.

[10]  Noam Chomsky,et al.  Three models for the description of language , 1956, IRE Trans. Inf. Theory.

[11]  Rod M. Burstall,et al.  Program Proving as Hand Simulation with a Little Induction , 1974, IFIP Congress.

[12]  C. I. Lewis,et al.  The Semantic Conception of Truth and the Foundations of Semantics , 1944 .

[13]  Edward M. Reingold,et al.  On the Optimality of Some Set Algorithms , 1972, JACM.

[14]  Calvin C. Elgot,et al.  Structured Programming With and Without go to Statements , 1976, IEEE Transactions on Software Engineering.

[15]  Noam Chomsky,et al.  वाक्यविन्यास का सैद्धान्तिक पक्ष = Aspects of the theory of syntax , 1965 .

[16]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

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

[18]  Jr. Hartley Rogers Theory of Recursive Functions and Effective Computability , 1969 .

[19]  William Craig,et al.  Linear reasoning. A new form of the Herbrand-Gentzen theorem , 1957, Journal of Symbolic Logic.