Semantical consideration on floyo-hoare logic

  • Authors:
  • Vaughan R. Pratt

  • Affiliations:
  • -

  • Venue:
  • SFCS '76 Proceedings of the 17th Annual Symposium on Foundations of Computer Science
  • Year:
  • 1976

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.