Graph explorer

Mechanized semantics

The goal of this lecture is to show how modern theorem provers---in this case, the Coq proof assistant---can be used to mechanize the specification of programming languages and their semantics, and to reason over individual programs and over generic program transformations, as typically found in compilers. The topics covered include: operational semantics (small-step, big-step, definitional interpreters); a simple form of denotational semantics; axiomatic semantics and Hoare logic; generation of verification conditions, with application to program proof; compilation to virtual machine code and its proof of correctness; an example of an optimizing program transformation (dead code elimination) and its proof of correctness.

3 nodes2 linksoverview previewMechanized semantics
3 nodes2 links
Mechanized semantics3 visible / 3 total nodes / 2 links
AuthorshipTopic signalWMechanized semanticspreprint / 2010AXavier LeroyResearcherTProgramming Languages1239 works
PaperSignal 102 links

Mechanized semantics

preprint / 2010

Open