Hostname: page-component-76fb5796d-2lccl Total loading time: 0 Render date: 2024-04-28T13:50:03.835Z Has data issue: false hasContentIssue false

Structural subtyping for inductive types with functorial equality rules

Published online by Cambridge University Press:  01 October 2008

ZHAOHUI LUO
Affiliation:
Department of Computer Science, Royal Holloway, University of London, Egham, Surrey TW20 0EX, United Kingdom Email: zhaohui@cs.rhul.ac.uk
ROBIN ADAMS
Affiliation:
Department of Computer Science, Royal Holloway, University of London, Egham, Surrey TW20 0EX, United Kingdom Email: robin@cs.rhul.ac.uk

Abstract

In this paper we study subtyping for inductive types in dependent type theories in the framework of coercive subtyping. General structural subtyping rules for parameterised inductive types are formulated based on the notion of inductive schemata. Certain extensional equality rules play an important role in proving some of the crucial properties of the type system with these subtyping rules. In particular, it is shown that the structural subtyping rules are coherent and that transitivity is admissible in the presence of the functorial rules of computational equality.

Type
Paper
Copyright
Copyright © Cambridge University Press 2008

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Aczel, P. (1994) Simple overloading for type theories. (Draft.)Google Scholar
Aczel, P. (2001) Yet another logical framework. (Notes – private communication.)Google Scholar
Adams, R. (2004) A Modular Hierarchy of Logical Frameworks, Ph.D. thesis, University of Manchester.CrossRefGoogle Scholar
Aspinall, D. and Compagnoni, A. (1996) Subtyping dependent types. In: Proc. 11th Ann. Symp. on Logic in Computer Science, New Jersey, U.S.A.Google Scholar
Aspinall, D. and Compagnoni, A. (2001) Subtyping dependent types. Theoretical Computer Science 266.CrossRefGoogle Scholar
Bailey, A. (1999) The Machine-checked Literate Formalisation of Algebra in Type Theory, Ph.D. thesis, University of Manchester.Google Scholar
Barral, F., Soloviev, S. and Chemouil, D. (2005) Inductive type schemas as functors. Talk given at Second International Workshop on Isomorphisms of Types, Toulouse, France.CrossRefGoogle Scholar
Barthe, G. and Frade, M. (1999) Constructor subtyping. In: Proceedings of ESOP'99. Springer-Verlag Lecture Notes in Computer Science 1576.CrossRefGoogle Scholar
Barthe, G. and van Raamsdonk, F. (2000) Constructor subtyping in the calculus of inductive constructions. In: Proceedings of FOSSACS'00. Springer-Verlag Lecture Notes in Computer Science 1784.CrossRefGoogle Scholar
Breazu-Tannen, V., Coquand, T., Gunter, C. and Scedrov, A. (1991) Inheritance and explicit coercion. Information and Computation 93.CrossRefGoogle Scholar
Callaghan, P. and Luo, Z. (2001) An implementation of LF with coercive subtyping and universes. Journal of Automated Reasoning 27 (1)327.CrossRefGoogle Scholar
Chen, G. (1998) Subtyping, Type Conversion and Transitivity Elimination, Ph.D. thesis, University of Paris VII.Google Scholar
Coq (2004) The Coq Proof Assistant Reference Manual (Version 8.0), The Coq Development Team, INRIA.Google Scholar
Dybjer, P. (1991) Inductive sets and families in Martin-Löf's type theory and their set-theoretic semantics. In: Huet, G. and Plotkin, G. (eds.) Logical Frameworks, Cambridge University Press.Google Scholar
Harper, R., Honsell, F. and Plotkin, G. (1987) A framework for defining logics. Proc. 2nd Ann. Symp. on Logic in Computer Science, IEEE.Google Scholar
Harper, R., Honsell, F. and Plotkin, G. (1993) A framework for defining logics. Journal of the Association for Computing Machinery 40 (1)143184.CrossRefGoogle Scholar
Luo, Y. (2005) Coherence and Transitivity in Coercive Subtyping, Ph.D. thesis, University of Durham.Google Scholar
Luo, Y. and Luo, Z. (2001) Coherence and transitivity in coercive subtyping. Proc. of the 8th Inter. Conf. on Logic for Programming, Artificial Intelligence and Reasoning (LPAR'01), Havana, Cuba. Springer-Verlag Lecture Notes in Artificial Intelligence 2250.Google Scholar
Luo, Y., Luo, Z. and Soloviev, S. (2002) Weak transitivity in coercive subtyping. In: Geuvers, H. and Wiedijk, F. (eds.) Types for Proofs and Programs. Springer-Verlag Lecture Notes in Computer Science 2646 220239.CrossRefGoogle Scholar
Luo, Z. (1994) Computation and Reasoning: A Type Theory for Computer Science, Oxford University Press.CrossRefGoogle Scholar
Luo, Z. (1997) Coercive xssubtyping in type theory. In: Proc. of CSL'96, the 1996 Annual Conference of the European Association for Computer Science Logic, Utrecht. Springer-Verlag Lecture Notes in Computer Science 1258.CrossRefGoogle Scholar
Luo, Z. (1999) Coercive subtyping. Journal of Logic and Computation 9 (1)105130.CrossRefGoogle Scholar
Luo, Z. and Callaghan, P. (1998) Coercive subtyping and lexical semantics (extended abstract). In: Logical Aspects of Computational Linguistics (LACL'98).Google Scholar
Luo, Z. and Luo, Y. (2005) Transitivity in coercive subtyping. Information and Computation 197 122144.CrossRefGoogle Scholar
Luo, Z. and Pollack, R. (1992) LEGO Proof Development System: User's Manual. LFCS Report ECS-LFCS-92-211, Department of Computer Science, University of Edinburgh.Google Scholar
Luo, Z. and Soloviev, S. (1999) Dependent coercions. The 8th Inter. Conf. on Category Theory and Computer Science (CTCS'99), Edinburgh, Scotland. Electronic Notes in Theoretical Computer Science 29.CrossRefGoogle Scholar
McBride, C. and McKinna, J. (2004) The view from the left. Journal of Functional Programming 14 (1).CrossRefGoogle Scholar
Mitchell, J. C. (1983) Coercion and type inference. In: Proc. of Tenth Annual Symposium on Principles of Programming Languages (POPL).CrossRefGoogle Scholar
Mitchell, J. C. (1991) Type inference with simple subtypes. Journal of Functional Programming 1 (2)245286.CrossRefGoogle Scholar
Nordström, B., Petersson, K. and Smith, J. (1990) Programming in Martin-Löf's Type Theory: An Introduction, Oxford University Press.Google Scholar
Paulin-Mohring, C. (1993) Inductive definitions in the system Coq: rules and properties. Proceedings of the Inter. Conf. on Typed Lambda Calculi and Applications (TLCA'93). Springer-Verlag Lecture Notes in Computer Science 664.CrossRefGoogle Scholar
Saïbi, A. (1997) Typing algorithm in type theory with inheritance. In: Proc of POPL'97.CrossRefGoogle Scholar
Soloviev, S. and Luo, Z. (2002) Coercion completion and conservativity in coercive subtyping. Annals of Pure and Applied Logic 113 (1-3)297322.CrossRefGoogle Scholar