Skip to main content

Self Types for Dependently Typed Lambda Encodings

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8560))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abadi, M., Cardelli, L.: A Theory of Primitive Objects - Second-Order Systems. In: European Symposium on Programming (ESOP), pp. 1–25 (1994)

    Google Scholar 

  2. 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)

    Google Scholar 

  3. 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)

    Chapter  Google Scholar 

  4. Barendregt, H.: Lambda calculi with types, handbook of logic in computer science. In: Background: Computational Structures, vol. 2 (1993)

    Google Scholar 

  5. Barras, B.: Sets in coq, coq in sets. Journal of Formalized Reasoning 3(1) (2010)

    Google Scholar 

  6. Capretta, V.: General recursion via coinductive types. Logical Methods in Computer Science 1(2) (2005)

    Google Scholar 

  7. Church, A.: The Calculi of Lambda Conversion (AM-6) (Annals of Mathematics Studies) (1985)

    Google Scholar 

  8. Coquand, T.: Metamathematical investigations of a calculus of constructions. Technical Report RR-1088, INRIA (September 1989)

    Google Scholar 

  9. Coquand, T., Huet, G.: The calculus of constructions. Inf. Comput. 76(2-3), 95–120 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  10. Curry, H.B., Hindley, J.R., Seldin, J.P.: Combinatory Logic, vol. II (1972)

    Google Scholar 

  11. 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

  12. 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)

    Google Scholar 

  13. 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)

    Chapter  Google Scholar 

  14. Gimenez, E.: Un calcul de constructions infinies et son application a la verification de systemes communicants. PhD thesis (1996)

    Google Scholar 

  15. Girard, J.-Y.: Interprétation fonctionnelle et élimination des coupures de l’arithmétique d’ordre supérieur (1972)

    Google Scholar 

  16. Hickey, J.: Formal objects in type theory using very dependent types. In: Bruce, K. (ed.) In Foundations of Object Oriented Languages (FOOL) 3 (1996)

    Google Scholar 

  17. Mendler, P.: Inductive definition in type theory. Technical report, Cornell University (1987)

    Google Scholar 

  18. Miquel, A.: Le Calcul des Constructions implicite: syntaxe et sémantique. PhD thesis, PhD thesis, Université Paris 7 (2001)

    Google Scholar 

  19. 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)

    Chapter  Google Scholar 

  20. 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)

    Chapter  Google Scholar 

  21. 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)

    Google Scholar 

  22. 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)

    Google Scholar 

  23. Werner, B.: Une théorie des constructions inductives. PhD thesis, Université Paris VII (1994)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics