Skip to main content


Interactive proof: Applications to semantics


Gerwin Klein




Building on a previous lecture in the summer school, the introduction to interactive proof, this lecture demonstrates a specific application of interactive proof assistants: the semantics of programming languages. In particular, I show how to formalise a small imperative programming language in the theorem prover Isabelle/HOL, how to define its semantics in different variations, and how to prove properties about the language in the theorem prover. The emphasis of the lecture is not on formalising a complex language deeply, but to teach formalisation techniques and proof strategies using simple examples. To this purpose, we cover big- and small step semantics, typing and type safety, as well as a small machine language with compiler and compiler correctness proof.

BibTeX Entry

    publisher        = {IOS Press},
    isbn             = {978-1-61499-027-7},
    series           = {NATO Science for Peace and Security Series},
    author           = {Klein, Gerwin},
    month            = apr,
    editor           = {{T. Nipkow, O. Grumberg, B. Hauptmann, G. Kalus}},
    year             = {2012},
    keywords         = {isabelle, semantics},
    title            = {Interactive Proof: Applications to Semantics},
    booktitle        = {Software Safety and Security: Tools for Analysis and Verification},
    pages            = {85-125}


Served by Apache on Linux on seL4.
Served by Apache on Linux on seL4.