Skip to main content

Partiality, State and Dependent Types

  • Conference paper
Book cover Typed Lambda Calculi and Applications (TLCA 2011)

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

Included in the following conference series:

Abstract

Partial type theories allow reasoning about recursively- defined computations using fixed-point induction. However, fixed-point induction is only sound for admissible types and not all types are admissible in sufficiently expressive dependent type theories.

Previous solutions have either introduced explicit admissibility conditions on the use of fixed points, or limited the underlying type theory. In this paper we propose a third approach, which supports Hoare-style partial correctness reasoning, without admissibility conditions, but at a tradeoff that one cannot reason equationally about effectful computations. The resulting system is still quite expressive and useful in practice, which we confirm by an implementation as an extension of Coq.

This research has been partially supported by MICINN Project TIN2010-20639 Paran10; AMAROUT grant PCOFUND-GA-2008-229599; and Ramon y Cajal grant RYC-2010-0743.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. The Coq Proof Assistant, http://coq.inria.fr/

  2. Coq Reference Manual, Version 8.3

    Google Scholar 

  3. Abbott, M., Altenkirch, T., Ghani, N.: Representing nested inductive types using W-types. In: Díaz, J., Karhumäki, J., Lepistö, A., Sannella, D. (eds.) ICALP 2004. LNCS, vol. 3142, pp. 59–71. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  4. Amadio, R.M.: Recursion over Realizability Structures. Information and Computation 91, 55–85 (1991)

    Article  MATH  Google Scholar 

  5. Birkedal, L., Støvring, K., Thamsborg, J.: Realisability semantics of parametric polymorphism, general references and recursive types. Math. Struct. Comp. Sci. 20(4), 655–703 (2010)

    Article  MATH  Google Scholar 

  6. Bjorner, D., Jones, C.B. (eds.): The Vienna Development Method: The Meta-Language. LNCS, vol. 61. Springer, Heidelberg (1978)

    MATH  Google Scholar 

  7. Bove, A.: Simple General Recursion in Type Theory. Nordic Journal of Computing 8 (2000)

    Google Scholar 

  8. Capretta, V.: General Recursion via Coinductive Types. Logical Methods in Computer Science 1(2), 1–28 (2005)

    Article  MATH  Google Scholar 

  9. Constable, R.L., Smith, S.F.: Partial Objects in Constructive Type Theory. In: Proceedings of Second IEEE Symposium on Logic in Computer Science (1987)

    Google Scholar 

  10. Crary, K.: Admissibility of Fixpoint Induction over Partial Types. In: Automated Deduction - CADE-15 (1998)

    Google Scholar 

  11. Dybjer, P.: Representing inductively defined sets by wellorderings in Martin-Löf’s type theory. Theor. Comput. Sci. 176(1-2), 329–335 (1997)

    Article  MATH  Google Scholar 

  12. Gonthier, G., Mahboubi, A.: A Small Scale Reflection Extension for the Coq system. Technical report, INRIA (2007)

    Google Scholar 

  13. Hoare, C.A.R.: Proof of correctness of data representations. Acta Informatica 1, 271–281 (1972)

    Article  MATH  Google Scholar 

  14. Jacobs, B.: Categorical Logic and Type Theory. Elsevier Science, Amsterdam (1999)

    MATH  Google Scholar 

  15. Meyer, B.: Object-oriented software construction. Prentice Hall, Englewood Cliffs (1997)

    MATH  Google Scholar 

  16. Moerdijk, I., Palmgren, E.: Wellfounded trees in categories. Annals of Pure and Applied Logic 104(1-3), 189–218 (2000)

    Article  MATH  Google Scholar 

  17. Nanevski, A., Morrisett, G., Birkedal, L.: Hoare Type Theory, Polymorphism and Separation. Journal of Functional Programming 18(5-6), 865–911 (2008)

    Article  MATH  Google Scholar 

  18. Nanevski, A., Morrisett, G., Shinnar, A., Govereau, P., Birkedal, L.: Ynot: Dependent Types for Imperative Programs. In: Proceedings of ICFP 2008, pp. 229–240 (2008)

    Google Scholar 

  19. Nanevski, A., Vafeiadis, V., Berdine, J.: Structuring the Verification of Heap-Manipulating Programs. In: Proceedings of POPL 2010 (2010)

    Google Scholar 

  20. O’Hearn, P., Reynolds, J., Yang, H.: Local reasoning about programs that alter data structures. In: Fribourg, L. (ed.) CSL 2001 and EACSL 2001. LNCS, vol. 2142, pp. 1–19. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  21. Petersen, R.L., Birkedal, L., Nanevski, A., Morrisett, G.: A realizability model for impredicative hoare type theory. In: Gairing, M. (ed.) ESOP 2008. LNCS, vol. 4960, pp. 337–352. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  22. Reus, B.: Synthetic Domain Theory in Type Theory: Another Logic of Computable Functions. In: von Wright, J., Harrison, J., Grundy, J. (eds.) TPHOLs 1996. LNCS, vol. 1125. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  23. Svendsen, K., Birkedal, L., Nanevski, A.: Partiality, State and Dependent Types. Technical report, IT University of Copenhagen (2011), http://www.itu.dk/people/kasv/ihtt-adm-tr.pdf

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Svendsen, K., Birkedal, L., Nanevski, A. (2011). Partiality, State and Dependent Types. In: Ong, L. (eds) Typed Lambda Calculi and Applications. TLCA 2011. Lecture Notes in Computer Science, vol 6690. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21691-6_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21691-6_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21690-9

  • Online ISBN: 978-3-642-21691-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics