Abstract
Proof assistants based on type theory such as Coq or Lego, put emphasis on inductive specifications and proofs by featuring expressive inductive types. It is frequent to modify an existing specification or proof by adding or modifying constructors in inductive types. In the context of language design, adding constructors is a common practice to make progress step-by-step. In this article, we propose a mechanism to extend and parameter inductive types, and a proof reuse mechanism founded on proof terms reuse.
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
Barras, B., et al.: The Coq Proof Assistant, Reference Manual (v7.4). INRIA Rocquencourt (2003)
Barthe, G., Courtieu, P.: Efficient reasoning about executable specifications in coq. In: Carreño, V.A., Muñoz, C.A., Tahar, S. (eds.) TPHOLs 2002. LNCS, vol. 2410, pp. 31–46. Springer, Heidelberg (2002)
Boite, O., Dubois, C.: Proving Type Soundness of a Simply Typed ML-like Language with References. In: Boulton, R.J., Jackson, P.B. (eds.) TPHOLs 2001. LNCS, vol. 2152, pp. 69–84. Springer, Heidelberg (2001); Informatics Research Report EDI-INF-RR-0046 of University of Edinburgh
Barthe, G., Dufay, G., Huisman, M., de Sousa, S.M.: Jakarta: A toolset for reasoning about javaCard. In: Attali, S., Jensen, T. (eds.) E-smart 2001. LNCS, vol. 2140, pp. 2–18. Springer, Heidelberg (2001)
Barthe, G., Pons, O.: Type Isomorphisms and Proof Reuse in Dependent Type Theory. In: Honsell, F., Miculan, M. (eds.) FOSSACS 2001. LNCS, vol. 2030, pp. 57–71. Springer, Heidelberg (2001)
Barthe, G., van Raamsdonk, F.: Constructor Subtyping in the Calculus of Inductive Constructions. In: Tiuryn, J. (ed.) FOSSACS 2000. LNCS, vol. 1784, pp. 17–34. Springer, Heidelberg (2000)
Constable, R.L., Allen, S.F., Bromley, H.M., Cleaveland, W.R., Cremer, J.F., Harper, R.W., Howe, D.J., Knoblock, T.B., Mendler, N.P., Panangaden, P., Sasaki, J.T., Smith, S.F.: Implementing Mathematics with the Nuprl Development System. Prentice-Hall, NJ (1986)
Callaghan, P.: Coherence checking of coercions in plastic. In: Workshop on Subtyping and Dependent Types in Programming, Ponte de Lima (July 2000)
Delahaye, D.: A Tactic Language for the System Coq. In: Parigot, M., Voronkov, A. (eds.) LPAR 2000. LNCS (LNAI), vol. 1955, pp. 85–95. Springer, Heidelberg (2000)
Dubois, C.: Proving ML Type Soundness Within Coq. In: Aagaard, M.D., Harrison, J. (eds.) TPHOLs 2000. LNCS, vol. 1869, pp. 126–144. Springer, Heidelberg (2000)
Gay, S.J.: A Framework for the Formalisation of Pi Calculus Type Systems. In: Boulton, R.J., Jackson, P.B. (eds.) TPHOLs 2001. LNCS, vol. 2152, pp. 217–232. Springer, Heidelberg (2001)
Gordon, M.J.C., Melham, T.F. (eds.): Introduction to HOL A theorem proving environment for higher order logic. Cambridge University Press, Cambridge (1993)
Luo, Z., Pollack, R.: LEGO proof development system: User’s manual. Technical Report ECS-LFCS-92-211, LFCS, The King’s Buildings, Edinburgh, EH9 3JZ (1992)
Levin, M.Y., Pierce, B.C.: Tinkertype: A language for playing with formal systems. Technical Report MS-CIS-99-19, Dept. of CIS, University of Pennsylvania (July 1999)
Luo, Z.: Coercive subtyping in type theory. In: van Dalen, D., Bezem, M. (eds.) CSL 1996. LNCS, vol. 1258, pp. 276–296. Springer, Heidelberg (1997)
Magnusson, L.: The Implementation of ALF—a Proof Editor Based on Martin-Löf ’s Monomorphic Type Theory with Explicit Substitution. PhD thesis, Chalmers University of Technology - Göteborg University (1994)
Magaud, N.: Changing data representation within the coq system. In: Basin, D., Wolff, B. (eds.) TPHOLs 2003. LNCS, vol. 2758, pp. 87–102. Springer, Heidelberg (2003)
Muñoz, C.: Proof representation in type theory: State of the art. In Proc. XXII Latinamerican Conference of Informatics CLEI Panel 96, Santafé de Bogotá, Colombia (June 1996)
Nipkow, T., von Oheimb, D., Pusch, C.: Java: Embedding a Programming Language in a Theorem Prover. In: Bauer, F.L., Steinbruggen, R. (eds.) Foundations of Secure Computation. IOS Press, Amsterdam (2000)
Pons, O., Bertot, Y., Rideau, L.: Notions of dependency in proof assistants. In: Electronic Proceedings of User Interfaces for Theorem Provers, Sophia-Antipolis, France (1998)
Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2000)
Paulin-Mohring, C.: Définitions Inductives en Théorie des Types d’Ordre Supérieur. Habilitation à diriger les recherches, Université Lyon I (December 1996)
Poll, E.: Subtyping and Inheritance for Inductive Types. In: Proceedings of TYPES 1997 Workshop on Subtyping, inheritance and modular development of proofs (September 1997)
Pons, O.: Conception et réalisation d’outils d’aide au développement de grosses théories dans les systèmes de preuves interactifs. PhD thesis, Conservatoire National des Arts et Métiers (1999)
Syme, D.: Proving Java Type Sound. In: Alves-Foss, J. (ed.) Formal Syntax and Semantics of Java. LNCS, vol. 1523, p. 83. Springer, Heidelberg (1999)
VanInwegen, M.: Towards Type Preservation in Core SML. Technical report, Cambridge University (1997)
Werner, B.: Une théorie des constructions inductives. PhD thesis, Universit é Paris 7 (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Boite, O. (2004). Proof Reuse with Extended Inductive Types. In: Slind, K., Bunker, A., Gopalakrishnan, G. (eds) Theorem Proving in Higher Order Logics. TPHOLs 2004. Lecture Notes in Computer Science, vol 3223. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30142-4_4
Download citation
DOI: https://doi.org/10.1007/978-3-540-30142-4_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-23017-5
Online ISBN: 978-3-540-30142-4
eBook Packages: Springer Book Archive