Abstract
We revisit lambda encodings of data, proposing new solutions to several old problems, in particular dependent elimination with lambda encodings. We start with a type-assignment form of the Calculus of Constructions, restricted recursive definitions and Miquel’s implicit product. We add a type construct ιx.T, called a self type, which allows T to refer to the subject of typing. We show how the resulting System S with this novel form of dependency supports dependent elimination with lambda encodings, including induction principles. Strong normalization of S is established by defining an erasure from S to a version of F ω with positive recursive type definitions, which we analyze. We also prove type preservation for S.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Abadi, M., Cardelli, L.: A Theory of Primitive Objects - Second-Order Systems. In: European Symposium on Programming (ESOP), pp. 1–25 (1994)
Abel, A., Pientka, B.: Wellfounded recursion with copatterns: a unified approach to termination and productivity. In: Morrisett, G., Uustalu, T. (eds.) International Conference on Functional Programming (ICFP), pp. 185–196 (2013)
Ahn, K.Y., Sheard, T., Fiore, M., Pitts, A.M.: System f i . In: Hasegawa, M. (ed.) TLCA 2013. LNCS, vol. 7941, pp. 15–30. Springer, Heidelberg (2013)
Barendregt, H.: Lambda calculi with types, handbook of logic in computer science. In: Background: Computational Structures, vol. 2 (1993)
Barras, B.: Sets in coq, coq in sets. Journal of Formalized Reasoning 3(1) (2010)
Capretta, V.: General recursion via coinductive types. Logical Methods in Computer Science 1(2) (2005)
Church, A.: The Calculi of Lambda Conversion (AM-6) (Annals of Mathematics Studies) (1985)
Coquand, T.: Metamathematical investigations of a calculus of constructions. Technical Report RR-1088, INRIA (September 1989)
Coquand, T., Huet, G.: The calculus of constructions. Inf. Comput. 76(2-3), 95–120 (1988)
Curry, H.B., Hindley, J.R., Seldin, J.P.: Combinatory Logic, vol. II (1972)
Fu, P., Stump, A.: Self Types for Dependently Typed Lambda Encodings (2014), Extended version available from http://homepage.cs.uiowa.edu/~pfu/document/papers/rta-tlca.pdf
Geuvers, H.: Inductive and Coinductive Types with Iteration and Recursion. In: Nordstrom, B., Petersson, K., Plotkin, G. (eds.) Informal Proceedings of the 1992 Workshop on Types for Proofs and Programs, pp. 183–207 (1994)
Geuvers, H.: Induction Is Not Derivable in Second Order Dependent Type Theory. In: Abramsky, S. (ed.) TLCA 2001. LNCS, vol. 2044, pp. 166–181. Springer, Heidelberg (2001)
Gimenez, E.: Un calcul de constructions infinies et son application a la verification de systemes communicants. PhD thesis (1996)
Girard, J.-Y.: Interprétation fonctionnelle et élimination des coupures de l’arithmétique d’ordre supérieur (1972)
Hickey, J.: Formal objects in type theory using very dependent types. In: Bruce, K. (ed.) In Foundations of Object Oriented Languages (FOOL) 3 (1996)
Mendler, P.: Inductive definition in type theory. Technical report, Cornell University (1987)
Miquel, A.: Le Calcul des Constructions implicite: syntaxe et sémantique. PhD thesis, PhD thesis, Université Paris 7 (2001)
Odersky, M., Cremet, V., Röckl, C., Zenger, M.: A Nominal Theory of Objects with Dependent Types. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 201–224. Springer, Heidelberg (2003)
Parigot, M.: Programming with Proofs: A Second Order Type Theory. In: Ganzinger, H. (ed.) ESOP 1988. LNCS, vol. 300, pp. 145–159. Springer, Heidelberg (1988)
Schepler, D.: Bijective function implies equal types is provably inconsistent with functional extensionality in coq. Message to the Coq Club mailing list (December 12, 2013)
Werner, B.: A Normalization Proof for an Impredicative Type System with Large Elimination over Integers. In: Nordström, B., Petersson, K., Plotkin, G. (eds.) International Workshop on Types for Proofs and Programs (TYPES), pp. 341–357 (1992)
Werner, B.: Une théorie des constructions inductives. PhD thesis, Université Paris VII (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Fu, P., Stump, A. (2014). Self Types for Dependently Typed Lambda Encodings. In: Dowek, G. (eds) Rewriting and Typed Lambda Calculi. RTA TLCA 2014 2014. Lecture Notes in Computer Science, vol 8560. Springer, Cham. https://doi.org/10.1007/978-3-319-08918-8_16
Download citation
DOI: https://doi.org/10.1007/978-3-319-08918-8_16
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-08917-1
Online ISBN: 978-3-319-08918-8
eBook Packages: Computer ScienceComputer Science (R0)