From operational to denotational semantics

  • Scott F. Smith
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 598)


In this paper operational equivalence of simple functional programs is defined, and certain basic theorems proved thereupon. These basic theorems include congruence, least fixed-point, an analogue to continuity, and fixed-point induction. We then show how any ordering on programs for which these theorems hold can be easily extended to give a fully abstract cpo for the language, giving evidence that any operational semantics with these basic theorems proven is complete with respect to a denotational semantics. Furthermore, the mathematical tools used in the paper are minimal, the techniques should be applicable to a wide class of languages, and all proofs are constructive.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Abr90]
    S. Abramsky. The lazy lambda calculus. In Research Topics in Functional Programming, pages 65–116. Addison-Wesley, 1990.Google Scholar
  2. [Blo90]
    B. Bloom. Can LCF be topped? Information and Computation, 87:264–301, 1990.CrossRefGoogle Scholar
  3. [dS69]
    J. W. deBakker and D. Scott. A theory of programs. unpublished notes, 1969.Google Scholar
  4. [FFK87]
    M. Felleisen, D. Friedman, and E. Kohlbecker. A syntactic theory of sequential control. Theoretical Computer Science, 52:205–237, 1987.CrossRefGoogle Scholar
  5. [GMW79]
    M. J. Gordon, R. Milner, and C. P. Wadsworth. Edinburgh LCF: A Mechanized Logic of Computation, volume 78 of Lecture notes in Computer Science. Springer-Verlag, 1979.Google Scholar
  6. [How89]
    D. J. Howe. Equality in lazy computation systems. In Proceedings of the Fourth Annual Symposium on Logic in Computer Science, pages 198–203. IEEE, 1989.Google Scholar
  7. [Iga72]
    S. Igarashi. Admissibility of fixed-point induction in first-order logic of typed theories. Technical Report Stan-CS-72–287, Stanford University Computer Science Department, 1972.Google Scholar
  8. [Man74]
    Z. Manna. Mathematical Theory of Computation. McGraw-Hill, 1974.Google Scholar
  9. [Mil77]
    R. Milner. Fully abstract models of typed λ-calculi. Theoretical Computer Science, 4:1–22, 1977.CrossRefGoogle Scholar
  10. [MT89]
    I. A. Mason and C. L. Talcott. Programming, transforming, and proving with function abstractions and memories. In Automata, languages, and programming: 16th international colloquim, volume 372 of Lecture notes in Computer Science. Springer-Verlag, 1989.Google Scholar
  11. [MT91]
    I. A. Mason and C. L. Talcott. Programming, transforming, and proving with function abstractions and memories. to appear in Journal of Lisp and Functional Programming, 1991.Google Scholar
  12. [Pau87]
    L. C. Paulson. Logic and Computation: Interactive Proof with Cambridge LCF. Cambridge, 1987.Google Scholar
  13. [Plo75]
    G. Plotkin. Call-by-name, call-by-value, and the λ-calculus. Theretical Computer Science, pages 125–159, 1975.Google Scholar
  14. [Plo77]
    G. Plotkin. LCF considered as a programming language. Theoretical Computer Science, 5:223–255, 1977.CrossRefGoogle Scholar
  15. [Sco76]
    D. Scott. Data types as lattices. SIAM J. Computing, 5:522–587, 1976.CrossRefGoogle Scholar
  16. [Smi91]
    S. F. Smith. Partial computations in constructive type theory. Submitted to Journal of Logic and Computation, 1991.Google Scholar
  17. [Sto88]
    A. Stoughton. Fully abstract models of programming languages. Research notes in theoretical computer science. Pitman, 1988.Google Scholar
  18. [Tal89]
    C. L. Talcott. Programming and proving with function and control abstractions. Technical Report STAN-CS-89-1288, Stanford University, Stanford, CA 94305, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Scott F. Smith
    • 1
  1. 1.Department of Computer ScienceThe Johns Hopkins UniversityBaltimore

Personalised recommendations