Theory Semantics
section "Operational Semantics"
theory Semantics
imports Main Flowgraph "HOL-Library.Multiset" LTS Interleave ThreadTracking
begin
text_raw ‹\label{thy:Semantics}›
subsection "Configurations and labels"
text ‹
The state of a single thread is described by a stack of control nodes. The top node is the current control node and the nodes deeper in the stack are stored return addresses.
The configuration of a whole program is described by a multiset of stacks.
Note that we model stacks as lists here, the first element being the top element.
›
type_synonym 'n conf = "('n list) multiset"
text ‹
A step is labeled according to the executed edge. Additionally, we introduce a label for a procedure return step, that has no corresponding edge.
›