Interactive proof: Applications to semantics
Authors
NICTA
UNSW
Abstract
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
@inbook{Klein_12, author = {Klein, Gerwin}, booktitle = {Software Safety and Security: Tools for Analysis and Verification}, isbn = {978-1-61499-027-7}, keywords = {isabelle, semantics}, month = apr, pages = {85--125}, paperurl = {https://trustworthy.systems/publications/nicta_full_text/5371.pdf}, publisher = {IOS Press}, series = {NATO Science for Peace and Security Series}, title = {Interactive Proof: Applications to Semantics}, year = {2012} }