Structural operational semantics of imperative programming languages in Coq
This thesis proposes a design for a framework to aid the study of the course Semantics and Correctness from the Faculty of Science of Radboud University. More specifi cally, it covers the subject of Structural Operational - small step - Semantics, explaining what it is, and how is it applied, and shows the implementation of a framework in Coq for a simple programming language - While. Then, some examples from the course are made, using this framework, and properties of Structural Operational Semantics are proven. That includes formalising the rules of Structural Operational Semantics, showing how those are used to prove some general examples, strong progress, determinism, essential exercises, semantic equivalence and equivalence with Natural Semantics.
Faculteit der Sociale Wetenschappen