Polarized Subtyping for Sized Types

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


We present an algorithm for deciding polarized higher-order subtyping without bounded quantification. Constructors are identified not only modulo β, but also η. We give a direct proof of completeness, without constructing a model or establishing a strong normalization theorem. Inductive and coinductive types are enriched with a notion of size and the subtyping calculus is extended to account for the arising inclusions between the sized types.


Operational Semantic Logical Framework Galois Connection Type Constructor Weak Normalization 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abel, A.: Weak normalization for the simply-typed lambda-calculus in Twelf. In: Logical Frameworks and Metalanguages (LFM 2004). IJCAR, Cork, Ireland (2004)Google Scholar
  2. 2.
    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)CrossRefGoogle Scholar
  3. 3.
    Abel, A., Matthes, R., Uustalu, T.: Iteration schemes for higher-order and nested datatypes. Theoretical Computer Science 333(1–2), 3–66 (2005)MathSciNetCrossRefMATHGoogle Scholar
  4. 4.
    Adams, R.: A Modular Hierarchy of Logical Frameworks. Ph.D. thesis, University of Manchester (2005)Google Scholar
  5. 5.
    Altenkirch, T., Reus, B.: Monadic presentations of lambda terms using generalized inductive types. In: Flum, J., Rodríguez-Artalejo, M. (eds.) CSL 1999. LNCS, vol. 1683, pp. 453–468. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  6. 6.
    Barthe, G., Frade, M.J., Giménez, E., Pinto, L., Uustalu, T.: Type-based termination of recursive definitions. Mathematical Structures in Computer Science 14(1), 1–45 (2004)MathSciNetCrossRefMATHGoogle Scholar
  7. 7.
    Bird, R.S., Paterson, R.: De Bruijn notation as a nested datatype. J. of Funct. Program. 9(1), 77–91 (1999)MathSciNetCrossRefMATHGoogle Scholar
  8. 8.
    Compagnoni, A., Goguen, H.: Anti-symmetry of higher-order subtyping and equality by subtyping (submitted, 2005)Google Scholar
  9. 9.
    Compagnoni, A.B., Goguen, H.: Anti-symmetry of higher-order subtyping. In: Flum, J., Rodríguez-Artalejo, M. (eds.) CSL 1999. LNCS, vol. 1683, pp. 420–438. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  10. 10.
    Compagnoni, A.B., Goguen, H.: Typed operational semantics for higher-order subtyping. Inf. Comput. 184(2), 242–297 (2003)MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
    Coquand, T.: An algorithm for testing conversion in type theory. In: Huet, G., Plotkin, G. (eds.) Logical Frameworks, pp. 255–279. Cambridge University Press, Cambridge (1991)CrossRefGoogle Scholar
  12. 12.
    Duggan, D., Compagnoni, A.: Subtyping for object type constructors (1998), Presented at FOOL 6Google Scholar
  13. 13.
    Girard, J.-Y., Lafont, Y., Taylor, P.: Proofs and Types. Cambridge Tracts in Theoretical Computer Science, vol. 7. Cambridge University Press, Cambridge (1989)MATHGoogle Scholar
  14. 14.
    Goguen, H.: Typed operational semantics. In: Dezani-Ciancaglini, M., Plotkin, G. (eds.) TLCA 1995. LNCS, vol. 902, pp. 186–200. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  15. 15.
    Goguen, H.: Soundness of the logical framework for its typed operational semantics. In: Girard, J.-Y. (ed.) TLCA 1999. LNCS, vol. 1581, pp. 177–197. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  16. 16.
    Goguen, H.: Justifying algorithms for βη conversion. In: Sassone, V. (ed.) FOSSACS 2005. LNCS, vol. 3441, pp. 410–424. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  17. 17.
    Harper, R., Pfenning, F.: On equivalence and canonical forms in the LF type theory. ACM Transactions on Computational Logic 6(1), 61–101 (2005)MathSciNetCrossRefMATHGoogle Scholar
  18. 18.
    Hinze, R.: Generalizing generalized tries. J. of Funct. Program. 10(4), 327–351 (2000)MathSciNetCrossRefMATHGoogle Scholar
  19. 19.
    Hughes, J., Pareto, L., Sabry, A.: Proving the correctness of reactive systems using sized types. In: Symposium on Principles of Programming Languages, pp. 410–423 (1996)Google Scholar
  20. 20.
    Joachimski, F., Matthes, R.: Short proofs of normalization. Archive of Mathematical Logic 42(1), 59–87 (2003)CrossRefMATHGoogle Scholar
  21. 21.
    Mendler, N.P.: Recursive types and type constraints in second-order lambda calculus. In: Logic in Computer Science (LICS 1987), Ithaca, N.Y, pp. 30–36. IEEE Computer Society Press, Los Alamitos (1987)Google Scholar
  22. 22.
    Okasaki, C.: From Fast Exponentiation to Square Matrices: An Adventure in Types. In: International Conference on Functional Programming, pp. 28–35 (1999)Google Scholar
  23. 23.
    Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2002)MATHGoogle Scholar
  24. 24.
    Pierce, B.C., Steffen, M.: Higher order subtyping. Theor. Comput. Sci. 176(1,2), 235–282 (1997)MathSciNetCrossRefMATHGoogle Scholar
  25. 25.
    Steffen, M.: Polarized Higher-Order Subtyping. Ph.D. thesis, Technische Fakultät, Universität Erlangen (1998)Google Scholar
  26. 26.
    Watkins, K., Cervesato, I., Pfenning, F., Walker, D.: A concurrent logical framework I: Judgements and properties. Tech. rep., School of Computer Science, Carnegie Mellon University, Pittsburgh (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Andreas Abel
    • 1
  1. 1.Department of Computer ScienceUniversity of MunichMünchenGermany

Personalised recommendations