An Indexed Model of Recursive Types for Foundational Proof-Carrying Code

Report ID: TR-629-00
Author: McAllester, David / Appel, Andrew W.
Date: 2000-11-00
Pages: 17
Download Formats: |PDF| |Postscript|
Abstract:

The proofs of ``traditional'' proof carrying code (PCC) are type-specialized in the sense that they require axioms about a specific type system. In contrast, the proofs of foundational PCC explicitly define all required types and explicitly prove all the required properties of those types assuming only a fixed foundation of mathematics such as higher-order logic. Foundational PCC is both more flexible and more secure than type-specialized PCC.

For foundational PCC we need semantic models of type systems on von Neumann machines. Previous models have been either too weak (lacking general recursive types and first-class function-pointers), too complex (requiring machine-checkable proofs of large bodies of computability theory), or not obviously applicable to von Neumann machines. Our new model is strong, simple, and works either in lambda-calculus or on Pentiums.