A proof theory for machine code

Atsushi Ohori

Research output: Contribution to journalArticlepeer-review


This article develops a proof theory for low-level code languages. We first define a proof system, which we refer to as the sequential sequent calculus, and show that it enjoys the cut elimination property and that its expressive power is the same as that of the natural deduction proof system. We then establish the Curry-Howard isomorphism between this proof system and a low-level code language by showing the following properties: (1) the set of proofs and the set of typed codes is in one-to-one correspondence, (2) the operational semantics of the code language is directly derived from the cut elimination procedure of the proof system, and (3) compilation and decompilation algorithms between the code language and the typed lambda calculus are extracted from the proof transformations between the sequential sequent calculus and the natural deduction proof system. This logical framework serves as a basis for the development of type systems of various low-level code languages, type-preserving compilation, and static code analysis.

Original languageEnglish
Article number1286827
JournalACM Transactions on Programming Languages and Systems
Issue number6
Publication statusPublished - 2007 Oct 1
Externally publishedYes


  • Curry-Howard isomorphism

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'A proof theory for machine code'. Together they form a unique fingerprint.

Cite this