# From operational to denotational semantics

Conference paper

First Online:

## Abstract

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.

## Preview

Unable to display preview. Download preview PDF.

## References

- [Abr90]S. Abramsky. The lazy lambda calculus. In
*Research Topics in Functional Programming*, pages 65–116. Addison-Wesley, 1990.Google Scholar - [Blo90]B. Bloom. Can LCF be topped?
*Information and Computation*, 87:264–301, 1990.CrossRefGoogle Scholar - [dS69]J. W. deBakker and D. Scott. A theory of programs. unpublished notes, 1969.Google Scholar
- [FFK87]M. Felleisen, D. Friedman, and E. Kohlbecker. A syntactic theory of sequential control.
*Theoretical Computer Science*, 52:205–237, 1987.CrossRefGoogle Scholar - [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 - [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 - [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
- [Man74]Z. Manna.
*Mathematical Theory of Computation*. McGraw-Hill, 1974.Google Scholar - [Mil77]R. Milner. Fully abstract models of typed λ-calculi.
*Theoretical Computer Science*, 4:1–22, 1977.CrossRefGoogle Scholar - [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 - [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 - [Pau87]L. C. Paulson.
*Logic and Computation: Interactive Proof with Cambridge LCF*. Cambridge, 1987.Google Scholar - [Plo75]G. Plotkin. Call-by-name, call-by-value, and the λ-calculus.
*Theretical Computer Science*, pages 125–159, 1975.Google Scholar - [Plo77]G. Plotkin. LCF considered as a programming language.
*Theoretical Computer Science*, 5:223–255, 1977.CrossRefGoogle Scholar - [Sco76]D. Scott. Data types as lattices.
*SIAM J. Computing*, 5:522–587, 1976.CrossRefGoogle Scholar - [Smi91]S. F. Smith. Partial computations in constructive type theory. Submitted to
*Journal of Logic and Computation*, 1991.Google Scholar - [Sto88]A. Stoughton.
*Fully abstract models of programming languages*. Research notes in theoretical computer science. Pitman, 1988.Google Scholar - [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