• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

DMCA

LNgen: Tool Support for Locally Nameless Representations

Cached

  • Download as a PDF

Download Links

  • [www.cis.upenn.edu]
  • [www.seas.upenn.edu]
  • [www.seas.upenn.edu]
  • [www.cis.upenn.edu]
  • [www.seas.upenn.edu]
  • [www.seas.upenn.edu]
  • [repository.upenn.edu]

  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Brian Aydemir , Stephanie Weirich
Citations:16 - 5 self
  • Summary
  • Citations
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@MISC{Aydemir_lngen:tool,
    author = {Brian Aydemir and Stephanie Weirich},
    title = {LNgen: Tool Support for Locally Nameless Representations},
    year = {}
}

Share

Facebook Twitter Reddit Bibsonomy

OpenURL

 

Abstract

Given the complexity of the metatheoretic reasoning involved with current programming languages and their type systems, techniques for mechanical formalization and checking of the metatheory have received much recent attention. In previous work, we advocated a combination of locally nameless representation and cofinite quantification as a lightweight style for carrying out such formalizations in the Coq proof assistant. As part of the presentation of that methodology, we described a number of operations associated with variable binding and listed a number of properties, called “infrastructure lemmas, ” about those operations that needed to be shown. The proofs of these infrastructure lemmas are generally straightforward, given a specification of the binding structure of the language. In this work, we present LNgen, a prototype tool for automatically generating these definitions, lemmas, and proofs from Ott-like language specifications. Furthermore, the tool also generates a recursion scheme for defining functions over syntax, which was not available in our previous work. We also show the soundness and completeness of our tool’s output. For untyped lambda terms, we prove the adequacy of our representation with respect to a fully concrete representation, and we argue that the representation is complete—that we generate the right set of lemmas—with respect to Gordon and Melham’s “Five Axioms of Alpha-Conversion. ” Finally, we claim that our recursion scheme is simpler to work with than either Gordon and Melham’s recursion scheme or the recursion scheme of Nominal Logic. 1.

Keyphrases

recursion scheme    locally nameless representation    tool support    infrastructure lemma    previous work    current programming language    nameless representation    much recent attention    nominal logic    untyped lambda term    coq proof assistant    ott-like language specification    five axiom    metatheoretic reasoning    tool output    right set    prototype tool    cofinite quantification    binding structure    variable binding    mechanical formalization    concrete representation    type system    lightweight style   

Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University