Using domain algebras to prove the correctness of a compiler

  • Peter Dybjer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 182)

Abstract

Domain algebras are proposed as a tool for structuring compiler correctness proofs which are based on denotational semantics of the source and target language. The correctness of a compiler for a small imperative language is proved as an illustration.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. ADJ (= Goguen, J.A., Thatcher, J.W., Wagner, E.G.), An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types, in Current Trends in Programming Methodology, R. Yeh Ed., (Prentice-Hall, 1978) 80–149.Google Scholar
  2. ADJ (= Thatcher, J.W., Wagner, E.G., Wright, J.B.), More on Advice on Structuring Compilers and Proving them Correct, Theoretical Computer Science 15, (1981) 223–249.Google Scholar
  3. Berry, G., Modèles complètement adéquats et stables des lambda-calculs typés, Thèse de doctorat d'etat ès sciences mathematiques, l'université Paris VII (1979).Google Scholar
  4. Berry, G., Some Syntactic and Categorical Constructions of Lambda-Calculus Models, Rapport INRIA 80 (1981).Google Scholar
  5. Burstall, R.M. and Landin, P.J., Programs and their Proofs: An Algebraic Approach, Machine Intelligence 4, (Edinburgh University Press, 1969) 17–44.Google Scholar
  6. Cohn, A.J., High Level Proofs in LCF, Report CSR-35-78, Department of Computer Science, University of Edinburgh (1978).Google Scholar
  7. Curien, P.L., Combinateurs categoriques, algorithmes sequentiels et programmation applicative, Thèse de doctorat d'etat ès sciences mathematiques, l'université Paris VII (1983).Google Scholar
  8. Dybjer, P., Category-Theoretic Logics and Algebras of Programs, Ph.D. thesis, Chalmers University of Technology, Göteborg (1983).Google Scholar
  9. Dybjer, P., Domain Algebras, in Proceedings 11th International Colloquium on Automata, Languages and Programming, Lecture Notes in Computer Science 172 (Springer-Verlag, Berlin, 1984) 138–150.Google Scholar
  10. Gordon, M., The Denotational Description of Programming Languages, (Springer-Verlag, Berlin, 1979).Google Scholar
  11. Gordon, M., Milner, R., Wadsworth, C.P., Edinburgh LCF, Lecture Notes in Computer Science 78, (Springer-Verlag, 1979).Google Scholar
  12. Lambek, J. (1972), Deductive Systems and Categories III, in Proceedings Dalhousie Conference on Toposes, Algebraic Geometry and Logic, Lecture Notes in Mathematics 274, (Springer-Verlag, 1972) 57–82.Google Scholar
  13. Lehmann, D.J. and Smyth, M.B., Algebraic Specification of Data Types: A Synthetic Approach, Mathematical Systems Theory 14, (1981) 79–139.Google Scholar
  14. McCarthy, J. and Painter, J.A., Correctness of a Compiler for Arithmetical Expressions, in J.T. Schwartz (ed.), in Proceedings of a Symposium in Applied Mathematics, 19, Mathematical Aspects of Computer Science, (American Mathematical Society, New York, 1967).Google Scholar
  15. Milner, R., Morris, L., Newey, M., A Logic for Computable Functions with Reflexive and Polymorphic Types, in Proceedings Conference on Proving and Improving Programs, Arc-et-Senans (1975).Google Scholar
  16. Morris, F.L., Advice on Structuring Compilers and Proving them Correct, in Proceedings ACM Symposium on Principles of Programming Languages, Boston (1973) 144–152.Google Scholar
  17. Plotkin, G.D., Domains, Edinburgh CS Dept., lecture notes (1980).Google Scholar
  18. Poigne, A., On Semantic Algebras Higher-Order Structures, Forschungsbericht bericht 156, Abt. Informatik, Universität Dortmund (1983).Google Scholar
  19. Russel, B., Implementation Correctness Involving a Language with GOTO Statements, SIAM Journal on Computing 6, (1977).Google Scholar
  20. Scott, D.S., Relating Theories of the Lambda-Calculus, in J.P. Seldin and J.R. Hindley (eds.) To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, (Academic Press, 1980), 404–450.Google Scholar
  21. Scott, D.S., Domains for Denotational Semantics, in Proceedings 9th International Colloquium on Automata, Languages and Programming, Lecture Notes in Computer Science, (Springer-Verlag, 1982) 577–613.Google Scholar
  22. Smyth, M.B. and Plotkin, G.D., The Category-Theoretic Solution of Recursive Domain Equations, SIAM Journal on Computing 11 (1982).Google Scholar

Copyright information

© Springer-Verlag 1985

Authors and Affiliations

  • Peter Dybjer
    • 1
  1. 1.Programming Methodology Group Department of Computer SciencesChalmers University of TechnologyGöteborgSweden

Personalised recommendations