Floyds Principle, Correctness Theories and Program Equivalence

Abstract A programming system is a language made from a fixed class of data abstractions and a selection of familiar deterministic control and assignment constructs. It is shown that the sets of all ‘before-after’ first-order assertions which are true of programs in any such language can uniquely determine the input-output semantics of the language providing one allows the use of auxiliary operators on its ground types. After this, we study programming systems wherein the data types are syntactically defined using a first-order specification language with the objective of eliminating these auxiliary operators. Especial attention is paid to algebraic specifications, complete first-order specifications; and to arithmetical computation in the context of a specified programming system.

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

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

[3]  Joseph Y. Halpern,et al.  Axiomatic definitions of programming languages: a theoretical assessment (preliminary report) , 1980, POPL '80.

[4]  J. V. Tucker,et al.  COMPUTING IN ALGEBRAIC SYSTEMS , 1978 .

[5]  Manfred Broy,et al.  Existential Quantifiers in Abstract Data Types , 1979, ICALP.

[6]  Jerzy Tiuryn,et al.  Logic of effective definitions , 1981, Fundam. Informaticae.

[7]  Richard Lee Schwartz,et al.  An axiomatic semantic definition of algol 68. , 1978 .

[8]  ZOHAR MANNA,et al.  The Correctness of Programs , 1969, J. Comput. Syst. Sci..

[9]  J. W. de Bakker,et al.  Mathematical theory of program correctness , 1980, Prentice-Hall international series in computer science.

[10]  Yiannis N. Moschovakis,et al.  Abstract first order computability. II , 1969 .

[11]  Harvey M. Friedman,et al.  Algorithmic Procedures, Generalized Turing Algorithms, and Elementary Recursion Theory , 1971 .

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

[13]  Jens Erik Fenstad,et al.  General Recursion Theory: An Axiomatic Approach , 1980 .

[14]  Sheila A. Greibach,et al.  Theory of Program Structures: Schemes, Semantics, Verification , 1976, Lecture Notes in Computer Science.

[15]  David Harel,et al.  First-Order Dynamic Logic , 1979, Lecture Notes in Computer Science.

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

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

[18]  Matthew Hennessy A Proof System for the First-Order Relational Calculus , 1980, J. Comput. Syst. Sci..

[19]  Chen C. Chang,et al.  Model Theory: Third Edition (Dover Books On Mathematics) By C.C. Chang;H. Jerome Keisler;Mathematics , 1966 .

[20]  Mitchell Wand,et al.  Final Algebra Semantics and Data Type Extensions , 1979, J. Comput. Syst. Sci..