Abstract
We explore the expressive power of the formalism called Natural Operational Semantics, NOS, introduced by Burstall and Honsell for defining the operational semantics of programming languages. This formalism is derived from the Natural Semantics of Despeyroux and Kahn. It arises if we take seriously the possibility of deriving assertions in Natural Semantics under assumptions, i.e. using hypothetico-general premises in the sense of Martin-Löf. We investigate to what extent we can reduce to hypothetical premises the notions of store and environment of Plotkin's Structural Operational Semantics. We use this formalism to define the semantics of a functional language which features commands, blocks, procedures, complex declarations, structures and Abstract Data Types. We give the NOS together with the denotational semantics and prove the adequacy of the former w.r.t. the latter. We discuss some other difficulties which arose in the previous treatment of variables in connection with procedures.
Natural Operational Semantics can be easily encoded in formal systems based on λ-calculus type-checking, such as the Edinburgh Logical Framework. We briefly investigate this and discuss some of the design choices.
Work partially supported by Esprit BRA 6453, Types for Proofs and Programs, and italian MURST 40%, 60% grants.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
H. Abelson and G. J. Sussman. Structure and Interpretation of Computer Programs. The MIT Electrical Engineering and Computer Science Series. MIT Press, Cambridge, Massachusetts, 1985.
A. Avron. Simple consequence relations. Information and Computation, 92:105–139, Jan. 1991.
A. Avron, F. Honsell, I. A. Mason, and R. Pollack. Using Typed Lambda Calculus to implement formal systems on a machine. Journal of Automated Reasoning, 9:309–354, 1992.
R. Burstall and F. Honsell. Operational semantics in a natural deduction setting. In G. Huet and G. Plotkin, editors, Logical Frameworks, pages 185–214. Cambridge University Press, June 1990.
A. Church. A formulation of the simple theory of types. Journal of Symbolic Logic, 5:56–68, 1940.
J. Despeyroux. Proof of translation in natural semantics. In Proceedings of the First Conference on Logic in Computer Science, pages 193–205. The Association for Computing Machinery, 1986.
J. E. Donahue. Locations considered unnecessary. Acta Informatica, 8:221–242, July 1977.
G. Gentzen. Investigations into logical deduction. In M. Szabo, editor, The collected papers of Gerhard Gentzen, pages 68–131. North Holland, 1969.
J. J. Hannan. Proof-theoretical methods for analysis of functional programs. Technical Report MS-CIS-89-07, Dep. of Computer and Information Science, University of Pennsylvania, Dec. 1988.
J. J. Hannan and F. Pfenning. Compiler verification in LF. In Seventh Annual IEEE Symposium on Logic in Computer Science, pages 407–418, Santa Cruz, California, June 1992. IEEE Computer Society Press.
R. Harper, F. Honsell, and G. Plotkin. A framework for defining logics. Journal of the ACM, 40(1):143–184, Jan. 1993.
G. Kahn. Natural Semantics. In Proceedings of the Symposium on Theoretical Aspects of Computer Science, number 247 in Lecture Notes in Computer Science, pages 22–39. Springer-Verlag, 1987.
Z. Luo, R. Pollack, and P. Taylor. How to use LEGO (A Preliminary User's Manual). Department of Computer Science, University of Edinburgh, Oct. 1989.
S. Michaylov and F. Pfenning. Natural Semantics and some of its Meta-Theory in Elf. In L.-H. Eriksson, L. Hallnäs, and P. Schroeder-Heister, editors, Proceedings of the Second International Workshop on Extensions of Logic Programming, number 596 in LNAI, pages 299–344, Stockolm, Sweden, Jan. 1991. Springer-Verlag.
M. Miculan. Semantica operazionale strutturata ad ambienti distribuiti — teoria e sperimentazione. Undergraduate thesis, Università di Udine, Udine, Italy, July 1992. In Italian.
R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. MIT Press, Cambridge, Massachusetts, 1990.
E. Moggi. Notions of computation and monads. Information and Computation, 1, 1993.
J. H. Morris, Jr. Types are not sets. In Conference Record of the ACM Symposium on Principles of Programming Languages, pages 120–124, Boston, Oct. 1973. The Association for Computing Machinery.
B. Nordström, K. Petersson, and J. M. Smith. Programming in Martin-Löf's Type Theory: An Introduction, volume 7 of International Series of Monograph on Computer Science. Oxford University Press, 1990.
F. Pfenning. Elf: A language for logic definition and verified metaprogramming. In Fourth Annual Symposium on Logic in Computer Science, pages 313–322. IEEE, June 1989. Also available as ERGO Report 89-067, School of Computer Science, Carnegie Mellon Univ., Pittsburgh.
G. D. Plotkin. A structural approach to operational semantics. DAIMI FN-19, Computer Science Department, Århus University, Århus, Denmark, Sept. 1981.
G. D. Plotkin. Notes about semantics. Unpublished notes given at CSLI, Stanford, Aug. 1985.
D. A. Schmidt. Denotational Semantics. Allyn & Bacon, 1986.
A. K. Wright and M. Felleisen. A syntactic approach to type soundness. Technical Report TR91-160, rev.2, Department of Computer Science, Rice University, Houston, Texas, 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Miculan, M. (1994). The expressive power of Structural Operational Semantics with explicit assumptions. In: Barendregt, H., Nipkow, T. (eds) Types for Proofs and Programs. TYPES 1993. Lecture Notes in Computer Science, vol 806. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58085-9_80
Download citation
DOI: https://doi.org/10.1007/3-540-58085-9_80
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58085-0
Online ISBN: 978-3-540-48440-0
eBook Packages: Springer Book Archive