Encoding natural semantics in Coq

  • Delphine Terrasse
Refereed Contributions Algebraic and Logical Foundations
Part of the Lecture Notes in Computer Science book series (LNCS, volume 936)


We address here the problem of automatically translating the Natural Semantics of programming languages to Coq, in order to prove formally general properties of languages. Natural Semantics [18] is a formalism for specifying semantics of programming languages inspired by Plotkin's Structural Operational Semantics [22]. The Coq proof development system [12], based on the Calculus of Constructions extended with inductive types (CCind), provides mechanized support including tactics for building goal-directed proofs. Our representation of a language in Coq is influenced by the encoding of logics used by Church [6] and in the Edinburgh Logical Framework (ELF) [15, 3].


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    P. Aczel: An Introduction to Inductive Definitions. The Handbook of Mathematical Logic, J. Barwise ed., North-Holland, (1992) 739–782Google Scholar
  2. 2.
    Y. Bertot, R. Fraer: Reasoning with Executable Specifications. I. Joint Conference of Theory and Practice of Software Development, LNCS, Aarhus (1995)Google Scholar
  3. 3.
    Avion, Honsell, Mason: An Overview of the Edinburgh Logical Framework. Current Trends in Hardware Verification and Automated Theorem Proving (1988)Google Scholar
  4. 4.
    Y. Bertot, G. Kahn, L. Théry: Proof by Pointing. Proceedings of Theoretical Aspects Computer Science (TACS '94), Tohoku University, Sendai, Japan, LNCS (1994) 789Google Scholar
  5. 5.
    R. Burstall, J. Goguen: Algebras, theories and freeness: an introduction for computer scientists. Theoretical Foundations of Programming Methodology, (1982) 329–350Google Scholar
  6. 6.
    A. Church: A formulation of the simple theory of types. J. of Symbolic Logic, 5 (1940) 56–68Google Scholar
  7. 7.
    O. Dahl: Verifiable Programming. Prentice Hall International series in computer science (1992)Google Scholar
  8. 8.
    J. Despeyroux, A. Hirschowitz: Higher-Order Syntax and Induction in Coq. Pr. of the fifth Int. Conf. on Logic Programming and Automated Reasoning Kiev, (1994) 16–21Google Scholar
  9. 9.
    J. Despeyroux: Theo: an Interactive Proof Development System. Scandinavian J. on Computer Science and Numerical Analysis (BIT), 32 (1992) 15–29Google Scholar
  10. 10.
    T. Despeyroux: Typol and Natural Semantics. Notes de cours pour l'Ecole Jeunes Chercheurs du GRECO de Programmation (1991)Google Scholar
  11. 11.
    T. Despeyroux: Typol: a formalism to implement Natural Semantics. Technical Report 94, Inria, Sophia-Antipolis, France (1988)Google Scholar
  12. 12.
    G. Dowek, A. Felty, H. Herbelin, G. Huet, C. Murthy, C. Parent, C. Paulin, B. Werner: The Coq Proof Assistant User's guide, Version 5.8. Technical Report 1154, Inria, Rocquencourt, France (1991)Google Scholar
  13. 13.
    P. Gardner: Representing Logics in Type Theory. Phd Thesis, Department of Computer Science, The University of Edinburgh (1992)Google Scholar
  14. 14.
    J. Hannan: Extended Natural Semantics. J. of Functional Programming, Cambridge University Press, 2 (1993) 123–152Google Scholar
  15. 15.
    R. Harper, F. Honsell, G. Plotkin: A Framework for Defining Logics. J. of the ACM, 40(1) (1993) 143–184Google Scholar
  16. 16.
    G. Huet: A Uniform Approach to Type Theory. Research Report 795, Inria, Rocquencourt, France (1988)Google Scholar
  17. 17.
    I. Jacobs. The Centaur 1.2 Manual. Technical report, Inria, Sophia-Antipolis, France (1992)Google Scholar
  18. 18.
    G. Kahn: Natural Semantics. Proceedings of the Symp. on Theorical Aspects of Computer Science, TACS, Passau, Germany (1987)Google Scholar
  19. 19.
    J.W. Lloyd: Foundations of Logic Programming. Ed. by L.Bolc, A.Bundy, P.Hayes and J.Siekmann, Germany (1987)Google Scholar
  20. 20.
    C. Paulin-Mohring: Inductive Definitions in the System Coq. Rules and Properties. Pr. of the Int. Conf. on Typed Lambda Calculi and Applications, LNCS 664 (1993) 328–345Google Scholar
  21. 21.
    J.C. Mitchell: Type Inference with Simple Subtypes. J. of Functional Programming, 1(3) (1991) 245–286Google Scholar
  22. 22.
    G.D. Plotkin: A Structural Approach to Operational Semantics. Technical Report, Aarhus, (1981) DAIMI FN-19Google Scholar
  23. 23.
    M. VanInwegen, E. Gunter: HOL-ML. Pr. of the Tech. Work. BRA ‘Types’ on ‘Proving Properties of Programming Languages', Ed. J. Despeyroux, INRIA, Sophia-Antipolis, France (1993)Google Scholar
  24. 24.
    D. Terrasse: Translation From Typol to Coq. Pr. of the Tech. Work. BRA on ‘Proving Properties of Programming Languages', Ed. J. Despeyroux, (1993)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Delphine Terrasse
    • 1
  1. 1.INRIA - Sophia-AntipolisSophia-Antipolis CedexFrance

Personalised recommendations