Abstract
The specification logic of J. C. Reynolds is a partial-correctness logic for Algol 60-like languages with procedures. It is interpreted here as an intuitionistic theory, using a form of possible-world semantics first applied to programming-language interpretation by Reynolds and F. J. Oles to give an abstract treatment of stack-oriented storage management. The model provides a satisfactory solution to all previously-known problems with the interpretation of specification logic; however, unexpected new problems have been discovered in doing this work, and these remain unsolved.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Arbib, M. A. And Alagic, S. (1979). Proof rules for gotos. Acta Informatica, 11: 139148.
Bencivenga, E. (1986). Free logics. In Handbook of Philosophical Logic, vol. Iii: Alternatives in Classical Logic (D. Gabbay and F. Guenthner, editors), number 166 in Synthese Library, pages 373–426, D. Reidel, Dordrecht, Holland.
Bergstra, J. A., Tiuryn, J., And Tucker, J. (1982). Floyd’s principle, correctness the- ories, and program equivalence. Theoretical Computer Science, 17: 129–147.
Clarke, JR., E. M. And KozEN, D., editors (1984). Logics of Programs 1983, volume 164 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1984.
Clarke, JR. E. M. (1984). The characterization problem for Hoare logics. In Mathematical Logic and Programming Languages (C. A. R. Hoare and J. C. Shepherdson, editors), pages 89–106, Prentice-Hall International.
Clint, M. And Hoare, C. A. R. (1972). Program proving: jumps and functions. Acta Informatica, 1:214–224.
CooK, S. A. (1978). Soundness and completeness of an axiomatic system for program verification. Siam J. on Computing, 7:70–90. Corrigendum,10: 612 (1981).
DE Bakker, J. W. And Meertens, L. G. L. T. (1975). On the completeness of the inductive assertion method. J. Comput. Sys. Sci., 11: 323–357.
DE Bakker, J. W., DE Bruin, A., And Zucker, J. I. (1980). Mathematical Theory of Program Correctness. Prentice-Hall International, London.
Dummett, M. (1977). Elements of Intuitionism. Oxford University Press.
Goldblatt, R. (1979). Topoi, The Categorial Analysis of Logic. North-Holland, Amsterdam.
Goldblatt, R. (1982). Axiomatising the Logic of Computer Programming, volume 193 of Lecture Notes in Computer Science. Springer-Verlag, Berlin.
Gries, D. and Levin, G. (1980). Assignment and procedure call proof rules. Acm Trans. on Programming Languages and Systems, 2 (4): 564–579.
Gries, D., editor (1978). Programming Methodology, A Collection of Articles by Ifip WG 2.3. Springer-Verlag, New York.
Hoare, C. A. R. And Lauer, P. E. (1974). Consistent and complementary formal theories of the semantics of programming languages. Acta Informatica, 3 (2): 135–153.
Hoare, C. A. R. (1969). An axiomatic basis for computer programming Comm.Acm, 12(10):576–580 and 583.
Hoare, C. A. R. (1971). Procedures and parameters: an axiomatic approach. In Symposium on Semantics of Algorithmic Languages (E. Engeler, editor), volume 188 of Lecture Notes in Mathematics, pages 102–116, Springer-Verlag, Berlin.
Hoare, C. A. R. (1972). Proof of correctness of data representations. Acta Informatica, 1:271–281. Reprinted in (Gries, 1978 ), pages 269–281.
Kripke, S. A. (1965) Semantical analysis of intuitionistic logic I. In Formal Systems and Recursive Functions (J. N. Crossley and M. A. E. Dummett, editors), pages 92–130, North-Holland, Amsterdam
Lambek, J. And Scott, P. J. (1986). Introduction to Higher-Order Categorical Logic. Cambridge University Press, Cambridge, England.
Lambek, J. (1980). From lambda-calculus to cartesian-closed categories. In (Seldin and Hindley, 1980 ), pages 375–402.
Leivant, D. And Fernando, T. (1987). Skinny and fleshy failures of relative completeness. In Con f. Record 14th Acm Symp. on Principles of Programming Languages, pages 246–252, Acm, New York.
Leivant, D. (1985). Logical and mathematical reasoning about imperative programs. In Con f. Record 12th Acm Symp. on Principles of Programming Languages, pages 132–140, Acm, New York.
Mccarty, C. (1984). Information systems, continuity, and realizability. In (Clarke and Kozen, 1984 ), pages 341–359.
Meyer, A. R. And Sieber, K. (1988). Towards fully abstract semantics for local variables: preliminary report. In Conference Record of the Fifteenth Annual Acm Symposium on Principles of Programming Languages, pages 191–203, Acm, New York. See Chapter 7.
Olderog, E. (1984). Hoare’s logic for programs with procedures: what has been achieved? In (Clarke and Kozen, 1984 ), pages 383–395.
Oles, F. J. (1982). A Category-Theoretic Approach to the Semantics of Programming Languages. Ph.D. thesis, Syracuse University, Syracuse, N.Y. See Chapter 11.
Oles, F. J. (1985). Type algebras, functor categories and block structure. In Algebraic Methods in Semantics ( M. Nivat and J. C. Reynolds, editors), pages 543–573, Cambridge University Press, Cambridge, England.
Parikh, R., editor (1985). Logics of Programs 1985, volume 193 of Lecture Notes in Computer Science, Springer-Verlag, Berlin.
Pasztor, A. (1986). Non-standard algorithmic and dynamic logic. J. Symbolic Computation, 2: 59–81.
Plotkin, G. D. (1985). Types and partial functions. Lecture notes, Computer Science Department, University of Edinburgh.
Reynolds, J. C. (1977). Semantics of the domain of flow diagrams. J. Acm, 24(3): 484503.
Reynolds, J. C. (1978). Syntactic control of interference. In Conference Record of the Fifth Annual Acm Symposium on Principles of Programming Languages, pages 39–46, Acm, New York. See Chapter 10.
Reynolds, J. C. (1980). Using category theory to design implicit conversions and generic operators. In Semantics-Directed Compiler Generation (N. D. Jones, editor), volume 94 of Lecture Notes in Computer Science, pages 211–258, Springer-Verlag, Berlin.
Reynolds, J. C. (1981a). The Craft of Programming. Prentice-Hall International, London.
Reynolds, J. C. (198lb). The essence of Algol. In Algorithmic Languages,Proceedings of the International Symposium on Algorithmic Languages (J. W. de Bakker and J. C. van Vliet, editors), pages 345–372, North-Holland, Amsterdam. See Chapter 3.
Reynolds, J. C. (1982). Idealized Algol and its specification logic. In Tools and Notions for Program Construction (D. Néel, editor), pages 121–161, Cambridge University Press, Cambridge, 1982. See Chapter 6.
Scott, D. S. (1967). Existence and description in formal logic. In Bertrand Russell, Philosopher of the Century ( R. Schönmann, editor), pages 181–200, Allen and Unwin, London.
Score, D. S. (1979). Identity and existence in intuitionistic logic. In Applications of Sheaves (M. P. Fourman, C. V. Mulvey, and D. S. Scott, editors), volume 735 of Lecture Notes in Mathematics, pages 660–696, Springer-Verlag, Berlin.
Scott, D. S. (1980). Relating theories of the lambda calculus. In (Seldin and Hindley, 1980 ), pages 403–450.
Seldin, J. P. And Hindley, J. R., editors (1980). To H. B. Curry: Essays in Combinatory Logic, Lambda Calculus and Formalism. Academic Press.
Sieber, K. (1985). A partial correctness logic for procedures (in an Algol-like language). In (Parikh, 1985 ), pages 320–342.
Stoughton, A. (1988). Fully Abstract Models of Programming Languages. Research Notes in Theoretical Computer Science, Pitman, London, and Wiley, New York.
Tennent, R. D. (1985). Semantical analysis of specification logic (preliminary report). In (Parikh, 1985 ), pages 373–386.
Trakhtenbrot, B. A., Halpern, J. Y., And Meyer, A. R. (1983). From denotational to operational and axiomatic semantics for Algol-like languages: an overview. In (Clarke and Kozen, 1984 ), pages 474–500.
Van Dalen, D. (1983). Logic and Structure. Springer, Berlin, second edition.
Wand, M. (1978). A new incompleteness result for Hoare’s system. J. Acm, 25: 168175.
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1997 Springer Science+Business Media New York
About this chapter
Cite this chapter
Tennent, R.D. (1997). Semantical Analysis of Specification Logic. In: O’Hearn, P.W., Tennent, R.D. (eds) Algol-like Languages. Progress in Theoretical Computer Science. Birkhäuser, Boston, MA. https://doi.org/10.1007/978-1-4757-3851-3_3
Download citation
DOI: https://doi.org/10.1007/978-1-4757-3851-3_3
Publisher Name: Birkhäuser, Boston, MA
Print ISBN: 978-1-4757-3853-7
Online ISBN: 978-1-4757-3851-3
eBook Packages: Springer Book Archive