The following is a list of all my (online) publications and drafts.
| [1] |
Brian Aydemir, Stephanie Weirich, and Steve Zdancewic.
Abstracting Syntax.
Draft available from http://www.cis.upenn.edu/~baydemir/, 2008.
[ bib |
Project page |
PDF ]
Binding is a fundamental part of language specification, yet it is both difficult and tedious to get right. In previous work, we argued that an approach based on locally nameless representation and cofinite quantification can provide a portable, transparent, lightweight methodology to define the semantics of binding. Although the binding infrastructure required by this approach is straightforward to develop, it can grow quadratically with the number of sorts of variables in the object language.
|
| [2] |
Brian Aydemir, Arthur Charguéraud, Benjamin C. Pierce, Randy Pollack, and
Stephanie Weirich.
Engineering Formal Metatheory.
In POPL '08: Proceedings of the 35th Annual ACM SIGPLAN-SIGACT
Symposium on Principles of Programming Languages, pages 3-15. ACM, 2008.
[ bib |
Project page |
PDF ]
Machine-checked proofs of properties of programming languages have become a critical need, both for increased confidence in large and complex designs and as a foundation for technologies such as proof-carrying code. However, constructing these proofs remains a black art, involving many choices in the formulation of definitions and theorems that make a huge cumulative difference in the difficulty of carrying out large formal developments. The representation and manipulation of terms with variable binding is a key issue.
|
| [3] |
Brian Aydemir, Aaron Bohannon, and Stephanie Weirich.
Nominal Reasoning Techniques in Coq (Extended Abstract).
In Alberto Momigliano and Brigitte Pientka, editors, Proceedings
of the First International Workshop on Logical Frameworks and Meta-Languages:
Theory and Practice (LFMTP 2006), pages 69-77. Elsevier, 2007.
[ bib |
Project page |
Slides |
PDF ]
We explore an axiomatized nominal approach to variable binding in Coq, using an untyped lambda-calculus as our test case. In our nominal approach, alpha-equality of lambda terms coincides with Coq's built-in equality. Our axiomatization includes a nominal induction principle and functions for calculating free variables and substitution. These axioms are collected in a module signature and proved sound using locally nameless terms as the underlying representation. Our experience so far suggests that it is feasible to work from such axiomatized theories in Coq and that the nominal style of variable binding corresponds closely with paper proofs. We are currently working on proving the soundness of a primitive recursion combinator and developing a method of generating these axioms and their proof of soundness from a grammar describing the syntax of terms and binding.
|
| [4] |
Brian E. Aydemir, Aaron Bohannon, Matthew Fairbairn, J. Nathan Foster,
Benjamin C. Pierce, Peter Sewell, Dimitrios Vytiniotis, Geoffrey Washburn,
Stephanie Weirich, and Steve Zdancewic.
Mechanized Metatheory for the Masses: The PoplMark
Challenge.
In Joe Hurd and Tom Melham, editors, Theorem Proving in Higher
Order Logics: 18th International Conference, TPHOLs 2005, volume 3603 of
Lecture Notes in Computer Science, pages 50-65. Springer, 2005.
[ bib |
Project page |
PDF with appendices |
PDF ]
How close are we to a world where every paper on programming languages is accompanied by an electronic appendix with machine-checked proofs?
|
| [5] |
Jason Hickey, Aleksey Nogin, Robert L. Constable, Brian E. Aydemir, Eli
Barzilay, Yegor Bryukhov, Richard Eaton, Adam Granicz, Alexei Kopylov,
Christoph Kreitz, Vladimir N. Krupski, Lori Lorigo, Stephan Schmitt, Carl
Witty, and Xin Yu.
MetaPRL - A Modular Logical Environment.
In David Basin and Burkhart Wolff, editors, Theorem Proving in
Higher Order Logics: 16th International Conference, TPHOLs 2003, volume 2758
of Lecture Notes in Computer Science, pages 287-303. Springer, 2003.
[ bib |
Project page |
PDF ]
MetaPRL is the latest system to come out of over twenty five years of research by the Cornell PRL group. While initially created at Cornell, MetaPRL is currently a collaborative project involving several universities in several countries. The MetaPRL system combines the properties of an interactive LCF-style tactic-based proof assistant, a logical framework, a logical programming environment, and a formal methods programming toolkit. MetaPRL is distributed under an open-source license and can be downloaded from http://metaprl.org/. This paper provides an overview of the system focusing on the features that did not exist in the previous generations of PRL systems.
|
| [6] |
Brian Aydemir, Adam Granicz, and Jason Hickey.
Formal Design Environments.
In Victor A. Carreño, Cézar A. Muñoz, and
Sophiène Tahar, editors, Track B Proceedings of the 15th
International Conference on Theorem Proving in Higher Order Logics (TPHOLs
2002), pages 12-22. NASA, 2002.
[ bib |
PDF ]
We present the design of a formal integrated design environment. The long-term goal of this effort is to allow seamless interaction between software production tools and formal design and analysis tools, especially between compilers and higher-order theorem provers. The work in this report is the initial design and architecture for integration of 1) the MetaPRL logical framework, 2) a multi-language compiler we call Mojave, and 3) a generic extensible parser we call Phobos. The integration is currently performed at the level of the Mojave functional intermediate representation, allowing the use of the theorem prover for program analysis, transformation, and optimization.
|