Abstract
This is a generic framework for formalizing compiler transformations.
It leverages Isabelle/HOL’s locales to abstract over concrete
languages and transformations. It states common definitions for
language semantics, program behaviours, forward and backward
simulations, and compilers. We provide generic operations, such as
simulation and compiler composition, and prove general (partial)
correctness theorems, resulting in reusable proof components.
License
History
- July 10, 2024
- Generalized the definition of bisimulation to have distinct orderings for forward and backward simulations. Added lemmas for composition of forward simulations and bisimulations.
- November 27, 2023
- Added a generic, framework-independent lemma to lift a simulation to a bisimulation.