Abstract
The Calculus of Inductive Constructions (CIC) is a powerful type system, featuring dependent types and inductive definitions, that forms the basis of proof-assistant systems such as Coq and Lego. We extend CIC with constructor subtyping, a basic form of subtyping in which an inductive type σ is viewed as a subtype of another inductive type τ if τ has more elements than σ. It is shown that the calculus is well-behaved and provides a suitable basis for formalizing natural semantics in proof-development systems.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
P. Aczel. An introduction to inductive definitions. In J. Barwise, editor, Handbook of mathematical logic, volume 90 of Studies in Logic and the Foundations of Mathematics, pages 739–782. North-Holland, 1977.
D. Aspinall and A. Compagnoni. Subtyping dependent types. In Proceedings of LICS’96, pages 86–97. IEEE Computer Society Press, 1996.
B. Barras. Auto-validation d’un système de preuves avec familles inductives. PhD thesis, Université Paris 7, 1999.
B. Barras et. al. The Coq Proof Assistant User’s Guide. Version 6.2, May 1998.
G. Barthe. Implicit coercions in type systems. In S. Berardi and M. Coppo, editors, Proceedings of TYPES’95, volume 1158 of Lecture Notes in Computer Science, pages 16–35. Springer-Verlag, 1996.
G. Barthe. Expanding the cube. In W. Thomas, editor, Proceedings of FOSSACS’99, volume 1578 of Lecture Notes in Computer Science, pages 90–103. Springer-Verlag, 1999.
G. Barthe. Order-sorted inductive types. Information and Computation, 149(1):42–76, February 1999.
G. Barthe and M.J. Frade. Constructor subtyping. In D. Swiestra, editor, Proceedings of ESOP’99, volume 1576 of Lecture Notes in Computer Science, pages 109–127. Springer-Verlag, 1999.
L. Cardelli and P. Wegner. On understanding types, data abstraction and polymorphism. ACM Computing Surveys, 17(4):471–522, December 1985.
G. Castagna and G. Chen. Dependent types with subtyping and late-bound overloading. Information and Computation, 1999. To appear.
G. Chen. Subtyping calculus of constructions. In I. Prívara and P. Ruzicka, editors, Proceedings of MFCS’97, volume 1295 of Lecture Notes in Computer Science, pages 189–198. Springer-Verlag, 1997.
T. Coquand. Metamathematical investigations of a calculus of constructions. In P. Odifreddi, editor, Logic and Computer Science, pages 91–122. Academic Press, 1990.
T. Coquand. An algorithm for type-checking dependent types. Science of Computer Programming, 26(1–3):167–177, May 1996.
H. Geuvers. A short and flexible proof of strong normalisation for the Calculus of Constructions. In P. Dybjer, B. Nordström, and J. Smith, editors, Proceedings of TYPES’94, volume 996 of Lecture Notes in Computer Science, pages 14–38. Springer-Verlag, 1995.
H. Geuvers and M.J. Nederhof. A modular proof of strong normalisation for the Calculus of Constructions. Journal of Functional Programming, 1(2):155–189, April 1991.
N. Ghani. Eta-expansions in dependent type theory—the calculus of constructions. In P. de Groote and J. Hindley, editors, Proceedings of TLCA’97, volume 1210 of Lecture Notes in Computer Science, pages 164–180. Springer-Verlag, 1997.
E. Giménez. Un calcul de constructions infinies et son application à la vérification de systèmes communicants. PhD thesis, Ecole Normale Superieure de Lyon, 1996.
E. Giménez. Structural recursive definitions in Type Theory. In K.G. Larsen, S. Skyum, and G. Winskel, editors, Proceedings of ICALP’98, volume 1443 of Lecture Notes in Computer Science, pages 397–408. Springer-Verlag, 1998.
E. Giménez. A tutorial on recursive types in coq. Technical Report RT-0221, INRIA, 1998.
J. Goguen and J. Meseguer. Order-sorted algebra I: Equational deduction for multiple inheritance, overloading, exceptions and partial operations. Theoretical Computer Science, 105(2):216–273, 1992.
M.J.C. Gordon and T.F. Melham, editors. Introduction to HOL: A theorem proving environment for higher-order logic. Cambridge University Press, 1993.
C.A. Gunter and J.C. Mitchell. Theoretical Aspects of Object-Oriented Programming: Types, Semantics and Language Design. The MIT Press, 1994.
G. Kahn. Natural semantics. In Proceedings of the Symposium on Theoretical Aspects of Computer Science, volume 247 of Lecture Notes in Computer Science, pages 22–39. Springer-Verlag, 1987.
Z. Luo. Coercive subtyping. Journal of Logic and Computation, 9:105–130, February 1999.
Z. Luo and R. Pollack. LEGO proof development system: User’s manual. Technical Report ECS-LFCS-92-211, LFCS, University of Edinburgh, May 1992.
J. Nordlander. Pragmatic subtyping in polymorphic languages. In Proceedings of ICFP’98. ACM Press, 1998.
J. Norlander. Reactive Objects and Functional Programming. PhD thesis, Chalmers Tekniska Högskola, 1999.
L. Paulson. Isabelle: a generic theorem prover, volume 828 of Lecture Notes in Computer Science. Springer-Verlag, 1994.
F. Pfenning. Refinement types for logical frameworks. In H. Geuvers, editor, Informal Proceedings of TYPES’93, pages 285–299, 1993.
E. Poll. Subtyping and Inheritance for Inductive Types. In Proceedings of TYPES’97 Workshop on Subtyping, inheritance and modular development of proofs, Durham, UK, 1997.
E. Poll. Subtyping and Inheritance for Categorical Datatypes. In Proceedings of Theories of Types and Proofs (TTP)-Kyoto, RIMS Lecture Notes 1023, pages 112–125. Kyoto University Research Insitute for Mathematical Sciences, 1998.
N. Shankar, S. Owre, and J.M. Rushby. The PVS Proof Checker: A Reference Manual. Computer Science Laboratory, SRI International, February 1993. Supplemented with the PVS2 Quick Reference Manual, 1997.
M. Steffen. Polarized Higher-order Subtyping. PhD thesis, Department of Computer Science, University of Erlangen, 1997.
J. Terlouw. Strong normalization in type systems: a model theoretic approach. Annals of Pure and Applied Logic, 73(1):53–78, May 1995.
B. Werner. Méta-théorie du Calcul des Constructions Inductives. PhD thesis, Université Paris 7, 1994.
J. Zwanenburg. Pure type systems with subtyping. In J.-Y. Girard, editor, Proceedings of TLCA’99, volume 1581 of Lecture Notes in Computer Science, pages 381–396. Springer-Verlag, 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Barthe, G., van Raamsdonk, F. (2000). Constructor Subtyping in the Calculus of Inductive Constructions. In: Tiuryn, J. (eds) Foundations of Software Science and Computation Structures. FoSSaCS 2000. Lecture Notes in Computer Science, vol 1784. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46432-8_2
Download citation
DOI: https://doi.org/10.1007/3-540-46432-8_2
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67257-9
Online ISBN: 978-3-540-46432-7
eBook Packages: Springer Book Archive