Princeton University |
Seminar in Automated Theorem Proving Andrew Appel |
|
The seminar will cover sequent logic, Prolog and lambdaProlog programming, hands-on practice proving things, and applications to proof-carrying code and mobile-code security.
Professor: Andrew Appel, 409 CS Building, 258-4627, appel@cs
1. Due Friday February 12th. Prove as many lemmas as possible from lemmas.mod (in this directory), which will be explained in class; check your proofs with checklemmas, and write a lemma or two of your own. Hint: difficult and specialized lemmas are mixed in with easier and more general lemmas; don't feel compelled to do them in order.
2. Due Friday February 19th. Prove some lemmas from basiclem.mod, let.mod, types.mod, and intlist.mod (in this directory), which will be explained in class; check your proofs with checklemmas, and write a lemma or two of your own.
3. Due Friday February 26th. Choose one or more of the following:
4. Due Friday March 5th. Investigate the prover.
George Necula, Proof-Carrying Code, in Twenty-Fourth Annual ACM Symp. on Principles of Prog. Languages, January 1997.
Dale Miller, lambda Prolog: An Introduction to the Language and its Logic, manuscript, 1998.
Frank Pfenning, Computation and Deduction, course notes, 1997.
Andrew Appel, Compiling with Continuations, Cambridge University Press, 1992.
Greg Morrisett, Compiling with Types, PhD Thesis, Carnegie-Mellon University, 1995.
George Necula, Compiling with Proofs, PhD Thesis, Carnegie-Mellon University, 1998.
Zhong Shao, Typed Cross-Module Compilation. Proc. 1998 ACM SIGPLAN International Conference on Functional Programming (ICFP'98), Baltimore, Maryland, pages 141-152, September 1998. ©1998 ACM.
Gopalan Nadathur, An Explicit Substitution Notation in a lambdaProlog Implementation, December 1997.
Martin Abadi, Luca Cardelli, Pierre-Louis Curien, Jean-Jacques Levy. Explicit Substitutions. Journal of Functional Programming 1(4) 375-416, 1991.
George C. Necula and Peter Lee, Efficient Representation and Validation of Proofs, Proc. 13th Annual Symposium on Logic in Computer Science, 1998.
Zhong Shao, Christopher League, and Stefan Monnier, Implementing Typed Intermediate Languages. Proc. 1998 ACM SIGPLAN International Conference on Functional Programming (ICFP'98), Baltimore, Maryland, pages 313-323, September 1998. ©1998 ACM.
Andrea Asperti and Harry Mairson, Parallel beta reduction is not elementary recursive, 1998 ACM Symposium on the Principles of Programming Languages. Andrea Asperti and Stefano Guerrini, The Optimal Implementation of Functional Programming Languages, Cambridge University Press, 1998.
Harry Mairson, A constructive logic of multiple subtyping, Proc Twentieth Annual SIGPLAN-SIGACT Symposium on the Principles of Programming Languages, pp. 313-324.