Abstract
We describe a package to reason efficiently about executable specifications in Coq. The package provides a command for synthesizing a customized induction principle for a recursively defined function, and a tactic that combines the application of the customized induction principle with automatic rewriting. We further illustrate how the package leads to a drastic reduction (by a factor of 10 approximately) of the size of the proofs in a large-scale case study on reasoning about JavaCard.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
C. Alvarado and Q.-H. Nguyen, elan for equational reasoning in coq. In J. Despeyroux, editor, Proceedings of LFM’OO, 2000. Rapport Technique INRIA.
G. Barthe, G. Dufay, M. Huisman, and S. Melo de Sousa. Jakarta: a toolset to reason about the JavaCard platform. In I. Attali and T. Jensen, editors, Proceedings of e-SMART 2001, volume 2140 of Lecture Notes in Computer Science, pages 2–18. Springer-Verlag, 2001.
G. Barthe, G. Dufay, L. Jakubiec, and S. Melo de Sousa. A formal correspondence between offensive and defensive JavaCard virtual machines. In A. Cortesi, editor, Proceedings of VMCAI 2002, volume 2294 of Lecture Notes in Computer Science, pages 32–45. Springer-Verlag, 2002.
G. Barthe, G. Dufay, L. Jakubiec, B. Serpette, and S. Melo de Sousa. A Formal Executable Semantics of the JavaCard Platform. In D. Sands, editor, Proceedings of ESOP 2001, volume 2028 of Lecture Notes in Computer Science, pages 302–319. Springer-Verlag, 2001.
S. Berghofer and T. Nipkow. Executing higher order logic. In P. Callaghan, Z. Luo, J. McKinna, and R. Pollack, editors, Proceedings of TYPES 2000, volume LNCS 2277 of Lecture Notes in Computer Science. Springer-Verlag, 2002.
P. Borovanský, H. Cirstea, H. Dubois, C. Kirchner, H. Kirchner, P.-E. Moreau, C. Ringeissen, and M. Vittek. The Elan VS.4. Manual, 2000.
A. Bouhoula. Automated theorem proving by test set induction. Journal of Symbolic Computation, 23:47–77, 1997.
R.S. Boyer and J.S. Moore. A Computational Logic Handbook. Academic Press, 1988.
Coq Development Team. The Coq Proof Assistant User’s Guide. Version 1.2, January 2002.
C. Cornes. Conception d’un langage de haut niveau de representation de preuves: Récurrence par filtrage de motifs; Unification en présence de types inductifs primitifs; Synthèse de lemmes d’inversion. PhD thesis, Université de Paris 7, 1997.
C. Cornes and D. Terrasse. Automating inversion and inductive predicates in Coq. In S. Berardi and M. Coppo, editors, Proceedings of Types’95, volume 1158 of Lecture Notes in Computer Science, pages 85–104. Springer-Verlag, 1995.
P. Courtieu. Function Schemes in Coq: Documentation and tutorial. See http://www-sop.inria.fr/lemme/Pierre.Courtieu/funscheme.html
M.J.C. Gordon and T.F. Melham, editors. Introduction to HOL: A theorem proving environment for higher-order logic. Cambridge University Press, 1993.
J.-L. Lanet and A. Requet. Formal Proof of Smart Card Applets Correctness. In J.-J. Quisquater and B. Schneier, editors, Proceedings of CARDIS’98, volume 1820 of Lecture Notes in Computer Science, pages 85–97. Springer-Verlag, 1998.
Z. Luo and R. Pollack. LEGO proof development system: User’s manual. Technical Report ECS-LFCS-92-211, LFCS, University of Edinburgh, May 1992.
C. Paulin-Mohring. Inductive definitions in the system Coq. Rules and properties. In M. Bezem and J.F. Groote, editors, Proceedings of TLCA’ 93, volume 664 of Lecture Notes in Computer Science, pages 328–345. Springer-Verlag, 1993.
C. Paulin-Mohring. Définitions Inductives en Theorie des Types d’Ordre Superieur. Habilitation à diriger les recherches, Université Claude Bernard Lyon I, 1996.
L. Paulson. Isabelle: A generic theorem prover, volume 828 of Lecture Notes in Computer Science. Springer-Verlag, 1994.
F. Pfenning. Elf: a meta-language for deductive systems. In A. Bundy, editor, Proceedings of CADE-12, volume 814 of Lecture Notes in Artificial Intelligence, pages 811–815. Springer-Verlag, 1994.
K. Slind. Reasoning about Terminating Functional Programs. PhD thesis, TU Münich, 1999.
D. Terrasse. Encoding natural semantics in Coq. In V. S. Alagar, editor, Proceedings of AMAST’95, volume 936 of Lecture Notes in Computer Science, pages 230–244. Springer-Verlag, 1995.
D. Terrasse. Vers un environnement d’aide au développement de preuves en Sémantique Naturelle. PhD thesis, Ecole Nationale des Ponts et Chaussées, 1995.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Barthe, G., Courtieu, P. (2002). Efficient Reasoning about Executable Specifications in Coq. In: Carreño, V.A., Muñoz, C.A., Tahar, S. (eds) Theorem Proving in Higher Order Logics. TPHOLs 2002. Lecture Notes in Computer Science, vol 2410. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45685-6_4
Download citation
DOI: https://doi.org/10.1007/3-540-45685-6_4
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-44039-0
Online ISBN: 978-3-540-45685-8
eBook Packages: Springer Book Archive