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 for an introductory semantics course. The three sections of the paper are: 1) A frame work 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. 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.
[1]
Fred Kröger.
Logical Rules of Natural Reasoning about Programs
,
1976,
ICALP.
[2]
Jerald Sydney Schwarz,et al.
Semantics of partial correctness formalisms.
,
1975
.
[3]
Edward M. Reingold,et al.
On the Optimality of Some Set Algorithms
,
1972,
JACM.
[4]
Jr. Hartley Rogers.
Theory of Recursive Functions and Effective Computability
,
1969
.
[5]
Willem P. de Roever,et al.
A Calculus for Recursive Program Schemes
,
1972,
ICALP.
[6]
James C. King,et al.
A Program Verifier
,
1971,
IFIP Congress.
[7]
Noam Chomsky,et al.
वाक्यविन्यास का सैद्धान्तिक पक्ष = Aspects of the theory of syntax
,
1965
.
[8]
Christopher Strachey,et al.
Toward a mathematical semantics for computer languages
,
1971
.
[9]
Alfred V. Aho,et al.
The Design and Analysis of Computer Algorithms
,
1974
.
[10]
C. C. Elgot.
Structured Programming With and Without GO TO Statements
,
1976,
IEEE Trans. Software Eng..
[11]
Rod M. Burstall,et al.
Program Proving as Hand Simulation with a Little Induction
,
1974,
IFIP Congress.