Foundational proof checkers with small witnesses

Proof checkers for proof-carrying code (and similar systems) can suffer from two problems: huge proof witnesses and untrustworthy proof rules. No previous design has addressed both of these problems simultaneously. We show the theory, design, and implementation of a proof-checker that permits small proof witnesses and machine-checkable proofs of the soundness of the system.

[1]  Andrew W. Appel,et al.  An indexed model of recursive types for foundational proof-carrying code , 2001, TOPL.

[2]  George C. Necula,et al.  Proof-carrying code , 1997, POPL '97.

[3]  Andrew W. Appel Foundational proof-carrying code , 2003, Foundations of Intrusion Tolerant Systems, 2003 [Organically Assured and Survivable Information Systems].

[4]  Furio Honsell,et al.  A framework for defining logics , 1993, JACM.

[5]  Zhong Shao,et al.  Precision in Practice: A Type-Preserving Java Compiler , 2003, CC.

[6]  Andrew W. Appel,et al.  Proof-carrying authentication , 1999, CCS '99.

[7]  George C. Necula,et al.  Efficient representation and validation of proofs , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[8]  Andrew W. Appel,et al.  A provably sound TAL for back-end optimization , 2003, PLDI '03.

[9]  Andrew W. Appel,et al.  A semantic model of types and machine instructions for proof-carrying code , 2000, POPL '00.

[10]  Andrew W. Appel,et al.  Construction of a Semantic Model for a Typed Assembly Language , 2004, VMCAI.

[11]  David A. Schmidt Denotational Semantics: A Methodology for Language Development by Phil , 1987 .

[12]  Robert Pollack,et al.  How to Believe a Machine-Checked Proof , 1997 .

[13]  George C. Necula,et al.  Oracle-based checking of untrusted software , 2001, POPL '01.

[14]  Frank Pfenning,et al.  Twelf User''s Guide , 2002 .

[15]  Andrew W. Appel,et al.  A Trustworthy Proof Checker , 2004, Journal of Automated Reasoning.

[16]  Andrew W. Appel,et al.  A stratified semantics of general references embeddable in higher-order logic , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[17]  Frank Pfenning,et al.  System Description: Twelf - A Meta-Logical Framework for Deductive Systems , 1999, CADE.

[18]  Peter D. Mosses,et al.  Denotational semantics , 1995, LICS 1995.

[19]  F. Pfenning Logic programming in the LF logical framework , 1991 .

[20]  Frank Pfenning,et al.  Elf: A Meta-Language for Deductive Systems (System Descrition) , 1994, CADE.