Proof-Carrying Code in a Session-Typed Process Calculus
نویسندگان
چکیده
Dependent session types allow us to describe not only properties of the I/O behavior of processes but also of the exchanged data. In this paper we show how to exploit dependent session types to express proof-carrying communication. We further introduce two modal operators into the type theory to provide detailed control about how much information is communicated: one based on traditional proof irrelevance and one integrating digital signatures.
منابع مشابه
Cut Reduction in Linear Logic as Asynchronous Session-Typed Communication
Prior work has shown that intuitionistic linear logic can be seen as a session-type discipline for the π-calculus, where cut reduction in the sequent calculus corresponds to synchronous process reduction. In this paper, we exhibit a new process assignment from the asynchronous, polyadic π-calculus to exactly the same proof rules. Proof-theoretically, the difference between these interpretations...
متن کاملOptimizing Higher-Order Pattern Unification
We present an abstract view of existential variables in a dependently typed lambda-calculus based on modal type theory. This allows us to justify optimizations to pattern unification such as linearization, which eliminates many unnecessary occurs-checks. The presented modal framework explains a number of features of the current implementation of higher-order unification in Twelf and provides in...
متن کاملProof-Directed De-compilation of Low-Level Code
We present a proof theoretical method for de-compiling lowlevel code to the typed lambda calculus. We first define a proof system for a low-level code language based on the idea of Curry-Howard isomorphism. This allows us to regard an executable code as a proof in intuitionistic propositional logic. As being a proof of intuitionistic logic, it can be translated to an equivalent proof of natural...
متن کاملA Session Object Calculus for Structured Communication-Based Programming
We present an object calculus for structured concurrent programming, facilitating the implementation of typed binary protocols, known as sessions. Session types are based on a concept of duality of interactions, providing a powerful type-theoretic foundation for guaranteeing well-behaved parallel composition of communicating code. Our formalism extends the Abadi and Cardelli imperative object c...
متن کاملInterfacing Hoare Logic and Type Systems for Foundational Proof-Carrying Code
In this paper, we introduce a Foundational Proof-Carrying Code (FPCC) framework for constructing certified code packages from typed assembly language that will interface with a similarly certified runtime system. Our framework permits the typed assembly language to have a “foreign function” interface, in which stubs, initially provided when the program is being written, are eventually compiled ...
متن کامل