chapter \<open>The Rely-Guarantee Method\<close>
section \<open>Abstract Syntax\<close>
theory RG_Com imports Main begin
text \<open>Semantics of assertions and boolean expressions (bexp) as sets
of states. Syntax of commands \<open>com\<close> and parallel commands
\<open>par_com\<close>.\<close>
type_synonym 'a bexp = "'a set"
datatype 'a com =
Basic "'a \<Rightarrow>'a"
| Seq "'a com" "'a com"
| Cond "'a bexp" "'a com" "'a com"
| While "'a bexp" "'a com"
| Await "'a bexp" "'a com"
type_synonym 'a par_com = "'a com option list"
end