Advertisement

Strong Normalization and Equi-(Co)Inductive Types

  • Andreas Abel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4583)

Abstract

A type system for the lambda-calculus enriched with recursive and corecursive functions over equi-inductive and -coinductive types is presented in which all well-typed programs are strongly normalizing. The choice of equi-inductive types, instead of the more common iso-inductive types, influences both reduction rules and the strong normalization proof. By embedding iso- into equi-types, the latter ones are recognized as more fundamental. A model based on orthogonality is constructed where a semantical type corresponds to a set of observations, and soundness of the type system is proven.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abel, A.: Polarized subtyping for sized types. In: Grigoriev, D., Harrison, J., Hirsch, E.A. (eds.) CSR 2006. LNCS, vol. 3967, pp. 381–392. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  2. Abel, A.: A Polymorphic Lambda-Calculus with Sized Higher-Order Types. Ph.D. thesis, Ludwig-Maximilians-Universität München (2006)Google Scholar
  3. Abel, A.: Semi-continuous sized types and termination. In: Ésik, Z. (ed.) CSL 2006. LNCS, vol. 4207, pp. 72–88. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  4. Abel, A.: Towards generic programming with sized types. In: Uustalu, T. (ed.) MPC 2006. LNCS, vol. 4014, pp. 10–28. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. Abel, A., Matthes, R.: Fixed points of type constructors and primitive recursion. In: Marcinkowski, J., Tarlecki, A. (eds.) CSL 2004. LNCS, vol. 3210, pp. 190–204. Springer, Heidelberg (2004)Google Scholar
  6. Altenkirch, T.: Constructions, Inductive Types and Strong Normalization. Ph.D. thesis, University of Edinburgh (1993)Google Scholar
  7. Altenkirch, T.: Logical relations and inductive/coinductive types. In: Gottlob, G., Grandjean, E., Seyr, K. (eds.) CSL 1999. LNCS, vol. 1683, pp. 343–354. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  8. Barthe, G., Frade, M.J., Giménez, E., Pinto, L., Uustalu, T.: Type-based termination of recursive definitions. Math. Struct. in Comput. Sci. 14, 1–45 (2004)CrossRefGoogle Scholar
  9. Barthe, G., Grégoire, B., Pastawski, F.: CIC:̂ Type-based termination of recursive definitions in the Calculus of Inductive Constructions. In: Hermann, M., Voronkov, A. (eds.) LPAR 2006. LNCS (LNAI), vol. 4246, pp. 257–271. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  10. Blanqui, F.: A type-based termination criterion for dependently-typed higher-order rewrite systems. In: van Oostrom, V. (ed.) RTA 2004. LNCS, vol. 3091, pp. 24–39. Springer, Heidelberg (2004)Google Scholar
  11. Blanqui, F., Riba, C.: Combining typing and size constraints for checking the termination of higher-order conditional rewrite systems. In: Hermann, M., Voronkov, A. (eds.) LPAR 2006. LNCS (LNAI), vol. 4246, pp. 105–119. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  12. Geuvers, H.: Inductive and coinductive types with iteration and recursion. In: Nordström, B., Pettersson, K., Plotkin, G. (eds.) Types for Proofs and Programs (TYPES’92), Båstad, Sweden, pp. 193–217 (1992)Google Scholar
  13. Giménez, E.: Structural recursive definitions in type theory. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 397–408. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  14. Girard, J.-Y.: Locus solum: From the rules of logic to the logic of rules. Math. Struct. in Comput. Sci. 11, 301–506 (2001)zbMATHCrossRefGoogle Scholar
  15. Goguen, H.: Typed operational semantics. In: Dezani-Ciancaglini, M., Plotkin, G.D. (eds.) TLCA 1995. LNCS, vol. 902, pp. 186–200. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  16. Hughes, J., Pareto, L., Sabry, A.: Proving the correctness of reactive systems using sized types. In: POPL’96. Proc. of the 23rd ACM Symp. on Principles of Programming Languages, pp. 410–423 (1996)Google Scholar
  17. Joachimski, F., Matthes, R.: Short proofs of normalization. Archive of Mathematical Logic 42, 59–87 (2003)zbMATHCrossRefGoogle Scholar
  18. Lindley, S., Stark, I.: Reducibility and TT-lifting for computation types. In: Urzyczyn, P. (ed.) TLCA 2005. LNCS, vol. 3461, Springer, Heidelberg (2005)Google Scholar
  19. Matthes, R.: Extensions of System F by Iteration and Primitive Recursion on Monotone Inductive Types. Ph.D. thesis, Ludwig-Maximilians-University (1998)Google Scholar
  20. Matthes, R.: Non-strictly positive fixed-points for classical natural deduction. Ann. Pure Appl. Logic 133, 205–230 (2005)zbMATHCrossRefGoogle Scholar
  21. Mendler, N.P.: Recursive types and type constraints in second-order lambda calculus. In: LICS’87. Proc. of the 2nd IEEE Symp. on Logic in Computer Science, pp. 30–36. IEEE Computer Society Press, Los Alamitos (1987)Google Scholar
  22. Mendler, N.P.: Inductive types and type constraints in the second-order lambda calculus. Annals of Pure and Applied Logic 51, 159–172 (1991)CrossRefGoogle Scholar
  23. Pareto, L.: Types for Crash Prevention. Ph.D. thesis, Chalmers University of Technology (2000)Google Scholar
  24. Parigot, M.: Recursive programming with proofs. Theor. Comput. Sci. 94, 335–356 (1992)zbMATHCrossRefGoogle Scholar
  25. Parigot, M.: Proofs of strong normalization for second order classical natural deduction. The Journal of Symbolic Logic 62, 1461–1479 (1997)zbMATHCrossRefGoogle Scholar
  26. Raffalli, C.: Data types, infinity and equality in system af 2. In: Meinke, K., Börger, E., Gurevich, Y. (eds.) CSL 1993. LNCS, vol. 832, pp. 280–294. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  27. Steffen, M.: Polarized Higher-Order Subtyping. Ph.D. thesis, Technische Fakultät, Universität Erlangen (1998)Google Scholar
  28. van Raamsdonk, F., Severi, P., Sørensen, M.H., Xi, H.: Perpetual reductions in lambda calculus. Inf. Comput. 149, 173–225 (1999)zbMATHCrossRefGoogle Scholar
  29. Vouillon, J.: Subtyping union types. In: Marcinkowski, J., Tarlecki, A. (eds.) CSL 2004. LNCS, vol. 3210, pp. 415–429. Springer, Heidelberg (2004)Google Scholar
  30. Vouillon, J., Melliès, P.-A.: Semantic types: A fresh look at the ideal model for types. In: Jones, N.D., Leroy, X. (eds.) POPL 2004. Proc. of the 31st ACM Symp. on Principles of Programming Languages, pp. 52–63. ACM Press, New York (2004)CrossRefGoogle Scholar
  31. Xi, H.: Dependent types for program termination verification. J. Higher-Order and Symb. Comput. 15, 91–131 (2002)zbMATHCrossRefGoogle Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Andreas Abel
    • 1
  1. 1.Department of Computer Science, University of Munich, Oettingenstr.67, D-80538 MünchenGermany

Personalised recommendations