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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
The Coq Proof Assistant, http://coq.inria.fr/
Coq Reference Manual, Version 8.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)
Amadio, R.M.: Recursion over Realizability Structures. Information and Computation 91, 55–85 (1991)
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)
Bjorner, D., Jones, C.B. (eds.): The Vienna Development Method: The Meta-Language. LNCS, vol. 61. Springer, Heidelberg (1978)
Bove, A.: Simple General Recursion in Type Theory. Nordic Journal of Computing 8 (2000)
Capretta, V.: General Recursion via Coinductive Types. Logical Methods in Computer Science 1(2), 1–28 (2005)
Constable, R.L., Smith, S.F.: Partial Objects in Constructive Type Theory. In: Proceedings of Second IEEE Symposium on Logic in Computer Science (1987)
Crary, K.: Admissibility of Fixpoint Induction over Partial Types. In: Automated Deduction - CADE-15 (1998)
Dybjer, P.: Representing inductively defined sets by wellorderings in Martin-Löf’s type theory. Theor. Comput. Sci. 176(1-2), 329–335 (1997)
Gonthier, G., Mahboubi, A.: A Small Scale Reflection Extension for the Coq system. Technical report, INRIA (2007)
Hoare, C.A.R.: Proof of correctness of data representations. Acta Informatica 1, 271–281 (1972)
Jacobs, B.: Categorical Logic and Type Theory. Elsevier Science, Amsterdam (1999)
Meyer, B.: Object-oriented software construction. Prentice Hall, Englewood Cliffs (1997)
Moerdijk, I., Palmgren, E.: Wellfounded trees in categories. Annals of Pure and Applied Logic 104(1-3), 189–218 (2000)
Nanevski, A., Morrisett, G., Birkedal, L.: Hoare Type Theory, Polymorphism and Separation. Journal of Functional Programming 18(5-6), 865–911 (2008)
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)
Nanevski, A., Vafeiadis, V., Berdine, J.: Structuring the Verification of Heap-Manipulating Programs. In: Proceedings of POPL 2010 (2010)
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)
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)
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)
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
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)