Skip to main content

Encoding natural semantics in Coq

  • Refereed Contributions
  • Conference paper
  • First Online:
Algebraic Methodology and Software Technology (AMAST 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 936))

Abstract

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].

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. P. Aczel: An Introduction to Inductive Definitions. The Handbook of Mathematical Logic, J. Barwise ed., North-Holland, (1992) 739–782

    Google Scholar 

  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. Avion, Honsell, Mason: An Overview of the Edinburgh Logical Framework. Current Trends in Hardware Verification and Automated Theorem Proving (1988)

    Google Scholar 

  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) 789

    Google Scholar 

  5. R. Burstall, J. Goguen: Algebras, theories and freeness: an introduction for computer scientists. Theoretical Foundations of Programming Methodology, (1982) 329–350

    Google Scholar 

  6. A. Church: A formulation of the simple theory of types. J. of Symbolic Logic, 5 (1940) 56–68

    Google Scholar 

  7. O. Dahl: Verifiable Programming. Prentice Hall International series in computer science (1992)

    Google Scholar 

  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–21

    Google Scholar 

  9. J. Despeyroux: Theo: an Interactive Proof Development System. Scandinavian J. on Computer Science and Numerical Analysis (BIT), 32 (1992) 15–29

    Google Scholar 

  10. T. Despeyroux: Typol and Natural Semantics. Notes de cours pour l'Ecole Jeunes Chercheurs du GRECO de Programmation (1991)

    Google Scholar 

  11. T. Despeyroux: Typol: a formalism to implement Natural Semantics. Technical Report 94, Inria, Sophia-Antipolis, France (1988)

    Google Scholar 

  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. P. Gardner: Representing Logics in Type Theory. Phd Thesis, Department of Computer Science, The University of Edinburgh (1992)

    Google Scholar 

  14. J. Hannan: Extended Natural Semantics. J. of Functional Programming, Cambridge University Press, 2 (1993) 123–152

    Google Scholar 

  15. R. Harper, F. Honsell, G. Plotkin: A Framework for Defining Logics. J. of the ACM, 40(1) (1993) 143–184

    Google Scholar 

  16. G. Huet: A Uniform Approach to Type Theory. Research Report 795, Inria, Rocquencourt, France (1988)

    Google Scholar 

  17. I. Jacobs. The Centaur 1.2 Manual. Technical report, Inria, Sophia-Antipolis, France (1992)

    Google Scholar 

  18. G. Kahn: Natural Semantics. Proceedings of the Symp. on Theorical Aspects of Computer Science, TACS, Passau, Germany (1987)

    Google Scholar 

  19. J.W. Lloyd: Foundations of Logic Programming. Ed. by L.Bolc, A.Bundy, P.Hayes and J.Siekmann, Germany (1987)

    Google Scholar 

  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–345

    Google Scholar 

  21. J.C. Mitchell: Type Inference with Simple Subtypes. J. of Functional Programming, 1(3) (1991) 245–286

    Google Scholar 

  22. G.D. Plotkin: A Structural Approach to Operational Semantics. Technical Report, Aarhus, (1981) DAIMI FN-19

    Google Scholar 

  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. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

V. S. Alagar Maurice Nivat

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Terrasse, D. (1995). Encoding natural semantics in Coq. In: Alagar, V.S., Nivat, M. (eds) Algebraic Methodology and Software Technology. AMAST 1995. Lecture Notes in Computer Science, vol 936. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60043-4_56

Download citation

  • DOI: https://doi.org/10.1007/3-540-60043-4_56

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60043-5

  • Online ISBN: 978-3-540-49410-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics