Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Curry-Style Types for Nominal Terms

  • Conference paper
Types for Proofs and Programs (TYPES 2006)

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

Included in the following conference series:

  • 411 Accesses

Abstract

We define a rank 1 polymorphic type system for nominal terms, where typing environments type atoms, variables and function symbols. The interaction between type assumptions for atoms and substitution for variables is subtle: substitution does not avoid capture and so can move an atom into multiple different typing contexts. We give typing rules such that principal types exist and are decidable for a fixed typing environment. α-equivalent nominal terms have the same types; a non-trivial result because nominal terms include explicit constructs for renaming atoms. We investigate rule formats to guarantee subject reduction. Our system is in a convenient Curry-style, so the user has no need to explicitly type abstracted atoms.

Research partially supported by the EPSRC (EP/D501016/1 “CANS”).

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Baader, F., Snyder, W.: Unification Theory. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, ch. 8, vol. I, pp. 445–532. Elsevier Science, Amsterdam (2001)

    Chapter  Google Scholar 

  2. van Bakel, S., Fernández, M.: Normalization results for typable rewrite systems. Information and Computation 133(2), 73–116 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  3. Barbanera, F., Fernández, M.: Intersection type assignment systems with higher-order algebraic rewriting. Theoretical Computer Science 170, 173–207 (1996)

    MATH  MathSciNet  Google Scholar 

  4. Barendregt, H.P.: Pairing without conventional constraints. Zeitschrift für mathematischen Logik und Grundlagen der Mathematik 20, 289–306 (1974)

    Article  MATH  MathSciNet  Google Scholar 

  5. Barendregt, H.P.: Lambda Calculi With Types. In: Abramsky, S., Gabbay, D., Maibaum, T.S.E. (eds.) Handbook of Logic in Computer Science, Oxford University Press, Oxford (1992)

    Google Scholar 

  6. Barendregt, H.P., Coppo, M., Dezani-Ciancaglini, M.: A filter lambda model and the completeness of type assignment. Journal of Symbolic Logic 48(4), 931–940 (1983)

    Article  MATH  MathSciNet  Google Scholar 

  7. Berghofer, S., Urban, C.: A Head-to-Head Comparison of de Bruijn Indices and Names. In: LFMTP 2006, pp. 46–59 (2006)

    Google Scholar 

  8. Curry, H.B., Feys, R.: Combinatory Logic, vol. 1. North-Holland, Amsterdam (1958)

    MATH  Google Scholar 

  9. Damas, L.M.M., Milner, R.: Principal Type Schemes for Functional programs. In: Conference Record of the Ninth Annual ACM Symposium on Principles of Programming Languages, ACM Press, New York (1982)

    Google Scholar 

  10. Fernández, M., Gabbay, M.J., Mackie, I.: Nominal Rewriting Systems. In: PPDP 2004. ACM Symposium on Principles and Practice of Declarative Programming, ACM Press, New York (2004)

    Google Scholar 

  11. Fernández, M., Gabbay, M.J.: Nominal Rewriting with Name Generation: Abstraction vs. Locality. In: PPDP 2005. ACM Symposium on Principles and Practice of Declarative Programming, ACM Press, New York (2005)

    Google Scholar 

  12. Fernández, M., Gabbay, M.J.: Nominal Rewriting. Information and Computation (to appear), available from http://dx.doi.org/10.1016/j.ic.2006.12.002

  13. Gabbay, M.J., Pitts, A.M.: A New Approach to Abstract Syntax with Variable Binding. Formal Aspects of Computing 13, 341–363 (2002)

    Article  MATH  Google Scholar 

  14. Gabbay, M.J.: A Theory of Inductive Definitions with Alpha-Equivalence. PhD Thesis, Cambridge University (2000)

    Google Scholar 

  15. Girard, J.-Y.: The System F of Variable Types, Fifteen Years Later, Theoretical Computer Science 45 (1986)

    Google Scholar 

  16. Gosling, J., Joy, B., Steele, G.: The Java Language Specification. Addison-Wesley, Reading (1996)

    MATH  Google Scholar 

  17. Khasidashvili, Z.: Expression reduction systems. In: Tbisili. Proceedings of I.Vekua Institute of Applied Mathematics, vol. 36, pp. 200–220 (1990)

    Google Scholar 

  18. Klop, J.-W., van Oostrom, V., van Raamsdonk, F.: Combinatory reduction systems, introduction and survey. Theoretical Computer Science 121, 279–308 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  19. Mayr, R., Nipkow, T.: Higher-order rewrite systems and their confluence. Theoretical Computer Science 192, 3–29 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  20. Shinwell, M.R., Pitts, A.M., Gabbay, M.: FreshML: Programming with binders made simple. In: ICFP 2003, pp. 263–274 (2003)

    Google Scholar 

  21. Urban, C., Pitts, A.M., Gabbay, M.J.: Nominal unification. Theoretical Computer Science 323, 473–497 (2004)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Thorsten Altenkirch Conor McBride

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Fernández, M., Gabbay, M.J. (2007). Curry-Style Types for Nominal Terms. In: Altenkirch, T., McBride, C. (eds) Types for Proofs and Programs. TYPES 2006. Lecture Notes in Computer Science, vol 4502. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74464-1_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-74464-1_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-74463-4

  • Online ISBN: 978-3-540-74464-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics