Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1706299.1706321acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
research-article

Nominal system T

Published: 17 January 2010 Publication History
  • Get Citation Alerts
  • 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

    [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, Advanced 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 benu¨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 Conference, 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 Computer 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 Conference, 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 higherorder 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., Gdansk, 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 higherorder encodings and dependent types. In European Symposium on Programming (ESOP 2008), volume 4960 of Lecture Notes in Computer 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 Computer 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: Programming with binders made simple. In Eighth ACM SIGPLAN International Conference on Functional Programming (ICFP 2003), Uppsala, 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.
    [36]
    C. Urban, A. M. Pitts, and M. J. Gabbay. Nominal unification. Theoretical 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 namebindings. 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.

    Cited By

    View all
    • (2018)Typed Nominal RewritingACM Transactions on Computational Logic10.1145/316155819:1(1-46)Online publication date: 8-Feb-2018
    • (2017)Validating Brouwer's continuity principle for numbers using named exceptionsMathematical Structures in Computer Science10.1017/S096012951700017228:06(942-990)Online publication date: 2-Nov-2017
    • (2016)A nominal exploration of intuitionismProceedings of the 5th ACM SIGPLAN Conference on Certified Programs and Proofs10.1145/2854065.2854077(130-141)Online publication date: 18-Jan-2016
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    POPL '10: Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
    January 2010
    520 pages
    ISBN:9781605584799
    DOI:10.1145/1706299
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 45, Issue 1
      POPL '10
      January 2010
      500 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/1707801
      Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 17 January 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. alpha-equivalence
    2. binders
    3. recursion
    4. types

    Qualifiers

    • Research-article

    Conference

    POPL '10
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 824 of 4,130 submissions, 20%

    Upcoming Conference

    POPL '25

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)5
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2018)Typed Nominal RewritingACM Transactions on Computational Logic10.1145/316155819:1(1-46)Online publication date: 8-Feb-2018
    • (2017)Validating Brouwer's continuity principle for numbers using named exceptionsMathematical Structures in Computer Science10.1017/S096012951700017228:06(942-990)Online publication date: 2-Nov-2017
    • (2016)A nominal exploration of intuitionismProceedings of the 5th ACM SIGPLAN Conference on Certified Programs and Proofs10.1145/2854065.2854077(130-141)Online publication date: 18-Jan-2016
    • (2012)A unified treatment of syntax with bindersJournal of Functional Programming10.1017/S095679681200025122:4-5(614-704)Online publication date: 1-Aug-2012
    • (2012)Formalizing AdequacyJournal of Automated Reasoning10.1007/s10817-011-9221-649:2(209-239)Online publication date: 1-Aug-2012
    • (2011)Stone duality for nominal Boolean algebras with ИProceedings of the 4th international conference on Algebra and coalgebra in computer science10.5555/2040096.2040112(192-207)Online publication date: 30-Aug-2011
    • (2011)Principal types for nominal theoriesProceedings of the 18th international conference on Fundamentals of computation theory10.5555/2034214.2034228(160-172)Online publication date: 22-Aug-2011
    • (2011)Freshness and name-restriction in sets of traces with namesProceedings of the 14th international conference on Foundations of software science and computational structures: part of the joint European conferences on theory and practice of software10.5555/1987171.1987202(365-380)Online publication date: 26-Mar-2011
    • (2011)Hobbits for HaskellACM SIGPLAN Notices10.1145/2096148.203468146:12(35-46)Online publication date: 22-Sep-2011
    • (2011)Hobbits for HaskellProceedings of the 4th ACM symposium on Haskell10.1145/2034675.2034681(35-46)Online publication date: 22-Sep-2011
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media