Academia.eduAcademia.edu

Outline

Nominal system T

2010, ACM SIGPLAN Notices

https://doi.org/10.1145/1707801.1706321

Abstract

This paper introduces a new recursion principle for inductive data modulo α-equivalence of bound names. It makes use of Odersky-style local names when recursing over bound names. It is formulated in an extension of Gödel's System T with names that can be tested for equality, explicitly swapped in expressions and restricted to a lexical scope. The new recursion principle is motivated by the nominal sets notion of "α-structural recursion", whose use of names and associated freshness side-conditions in recursive definitions formalizes common practice with binders. The new Nominal System T presented here provides a calculus of total functions that is shown to adequately represent α-structural recursion while avoiding the need to verify freshness side-conditions in definitions and computations. Adequacy is proved via a normalization-by-evaluation argument that makes use of a new semantics of local names in Gabbay-Pitts nominal sets.

References (37)

  1. A. Abel, T. Coquand, and M. Pagano. A modular type-checking algorithm for type theory with singleton types and proof irrelevance. In P.-L. Curien, editor, Typed Lambda Calculi and Applications, 9th International Conference, TLCA 2009, Brasilia, Brazil, July 1-3, 2009, Proceedings, volume 5608 of Lecture Notes in Computer Science, pages 5-19. Springer-Verlag, 2009.
  2. H. P. Barendregt. The Lambda Calculus: Its Syntax and Semantics. North-Holland, revised edition, 1984.
  3. U. Berger, M. Eberl, and H. Schwichtenberg. Term rewriting for normalization by evaluation. Information and Computation, 183:19- 42, 2003.
  4. U. Berger and H. Schwichtenberg. An inverse of the evaluation functional for typed 𝜆-calculus. In 6th Annual Symposium on Logic in Computer Science, pages 203-211. IEEE Computer Society Press, Washington, 1991.
  5. J. Cheney. Nominal logic and abstract syntax. ACM SIGACT News, Logic Column, 36(4):47-69, Dec. 2005.
  6. J. Cheney. A simple nominal type theory. In Proceedings of the International Workshop on Logical Frameworks and Metalanguages: Theory and Practice (LFMTP 2008), volume 228 of Electronic Notes in Theoretical Computer Science, pages 37-52. Elsevier B. V., Jan. 2009.
  7. K. Crary and R. Harper. Higher-order abstract syntax: Setting the record straight. ACM SIGACT News, Logic Column, 37(3):93-96, Sept. 2006.
  8. P. Dybjer and A. Filinski. Normalization and partial evaluation. In G. Barthe, P. Dybjer, and J. Saraiva, editors, Applied Semantics, Ad- vanced Lectures, volume 2395 of Lecture Notes in Computer Science, Tutorial, pages 137-192. Springer-Verlag, 2002. ISBN 3-540-44044- 5. International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000.
  9. M. P. Fiore, G. D. Plotkin, and D. Turi. Abstract syntax and variable binding. In 14th Annual Symposium on Logic in Computer Science, pages 193-202. IEEE Computer Society Press, Washington, 1999.
  10. M. J. Gabbay. A Theory of Inductive Definitions with 𝛼-Equivalence: Semantics, Implementation, Programming Language. PhD thesis, University of Cambridge, 2000.
  11. M. J. Gabbay and A. M. Pitts. A new approach to abstract syntax with variable binding. Formal Aspects of Computing, 13:341-363, 2002.
  12. A. Gacek, D. Miller, and G. Nadathur. Combining generic judgments with recursive definitions. In 23rd IEEE Symposium on Logic in Computer Science (LICS 2008), pages 33-44. IEEE Computer Society Press, June 2008.
  13. K. Gödel. Über eine bisher noch nicht benütze Erweiterung des finiten Standpunktes. Dialectica, 12:280-287, 1958.
  14. A. D. Gordon and T. Melham. Five axioms of alpha-conversion. In Theorem Proving in Higher Order Logics, 9th International Confer- ence, volume 1125 of Lecture Notes in Computer Science, pages 173- 191. Springer-Verlag, 1996.
  15. D. R. Licata and R. Harper. A universe of binding and computation. In Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming (ICFP 2009), pages 123-134. ACM Press, 2009.
  16. D. R. Licata, N. Zeilberger, and R. Harper. Focusing on binding and computation. In Proceedings of the Twenty-Third Annual IEEE Symposium on Logic in Computer Science, LICS 2008, 24-27 June 2008, Pittsburgh, PA, USA, pages 241-252. IEEE Computer Society, 2008.
  17. D. A. Miller. An extension to ML to handle bound variables in data structures, in the proceedings of the logical frameworks bra workshop. Technical Report MS-CIS-90-59, University of Pennsylvania, May 1990.
  18. R. Milner. Functions as processes. Mathematical Structures in Com- puter Science, 2(02):119-141, June 1992.
  19. B. Nordström, K. Petersson, and J. M. Smith. Programming in Martin- Löf's Type Theory. Oxford University Press, 1990.
  20. M. Norrish. Recursive function definition for types with binders. In Theorem Proving in Higher Order Logics, 17th International Confer- ence, volume 3223 of Lecture Notes in Computer Science, pages 241- 256. Springer-Verlag, 2004.
  21. M. Odersky. A functional theory of local names. In Conference Record of the 21st Annual ACM Symposium on Principles of Programming Languages, pages 48-59. ACM Press, 1994.
  22. F. Pfenning. Logical frameworks. In A. Robinson and A. Voronkov, editors, Handbook of Automated Reasoning, chapter 17, pages 1063- 1147. Elsevier Science and MIT Press, 2001.
  23. F. Pfenning and C. Elliott. Higher-order abstract syntax. In Proc. ACM-SIGPLAN Conference on Programming Language Design and Implementation, pages 199-208. ACM Press, 1988.
  24. B. Pientka. A type-theoretic foundation for programming with higher- order abstract syntax and first-class substitutions. In 35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'08), pages 371-382. ACM Press, 2008.
  25. A. M. Pitts. Nominal logic, a first order theory of names and binding. Information and Computation, 186:165-193, 2003.
  26. A. M. Pitts. Alpha-structural recursion and induction. Journal of the ACM, 53:459-506, 2006.
  27. A. M. Pitts and I. D. B. Stark. Observable properties of higher order functions that dynamically create local names, or: What's new? In Mathematical Foundations of Computer Science, Proc. 18th Int. Symp., Gdańsk, 1993, volume 711 of Lecture Notes in Computer Science, pages 122-141. Springer-Verlag, Berlin, 1993.
  28. A. M. Pitts and I. D. B. Stark. Operational reasoning for functions with local state. In A. D. Gordon and A. M. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute, pages 227-273. Cambridge University Press, 1998.
  29. A. Poswolsky and C. Schürmann. Practical programming with higher- order encodings and dependent types. In European Symposium on Programming (ESOP 2008), volume 4960 of Lecture Notes in Com- puter Science, pages 93-107. Springer-Verlag, 2008.
  30. F. Pottier. Static name control for FreshML. In Twenty-Second Annual IEEE Symposium on Logic In Computer Science (LICS'07), pages 356-365, Wroclaw, Poland, July 2007. IEEE Computer Society Press.
  31. M. R. Shinwell and A. M. Pitts. Fresh Objective Caml user manual. Technical Report UCAM-CL-TR-621, University of Cambridge Com- puter Laboratory, Feb. 2005.
  32. M. R. Shinwell and A. M. Pitts. On a monadic semantics for freshness. Theoretical Computer Science, 342:28-55, 2005.
  33. M. R. Shinwell, A. M. Pitts, and M. J. Gabbay. FreshML: Program- ming with binders made simple. In Eighth ACM SIGPLAN Inter- national Conference on Functional Programming (ICFP 2003), Up- psala, Sweden, pages 263-274. ACM Press, Aug. 2003.
  34. W. W. Tait. Intensional interpretation of functionals of finite type, I. Journal of Symbolic Logic, 32(2):198-212, 1967.
  35. C. Urban and S. Berghofer. A recursion combinator for nominal datatypes implemented in Isabelle/HOL. In 3rd International Joint Conference on Automated Reasoning (IJCAR 2006), Seattle, USA, volume 4130 of Lecture Notes in Computer Science, pages 498-512. Springer-Verlag, 2006.
  36. C. Urban, A. M. Pitts, and M. J. Gabbay. Nominal unification. Theo- retical Computer Science, 323:473-497, 2004.
  37. E. Westbrook, A. Stump, and E. Austin. The calculus of nominal inductive constructions: an intensional approach to encoding name- bindings. In Proceedings of the Fourth International Workshop on Logical Frameworks and Meta-languages: Theory and Practice (LFMTP 2009), Montreal, Canada, ACM International Conference Proceeding Series, pages 74-83. ACM Press, Aug. 2009.