Theory Lang
section "Hoare Logics for While"
theory Lang imports Main begin
subsection‹The language \label{sec:lang}›
text‹We start by declaring a type of states:›
typedecl state
text‹\noindent
Our approach is completely parametric in the state space.
We define expressions (‹bexp›) as functions from states
to the booleans:›
type_synonym bexp = "state ⇒ bool"
text‹
Instead of modelling the syntax of boolean expressions, we
model their semantics. The (abstract and concrete)
syntax of our programming is defined as a recursive datatype:
›