Theory Path_Model_Example
subsection ‹Two Extensions›
subsubsection ‹KAD Component with Trace Semantics›
theory Path_Model_Example
imports VC_KAD "HOL-Eisbach.Eisbach"
begin
text ‹This component supports the verification of simple while programs
in a partial correctness setting based on a program trace semantics.›
text ‹Program traces are modelled as non-empty paths or state sequences. The non-empty path model
of Kleene algebra is taken from the AFP entry for Kleene algebra. Here we show that sets of paths form
antidomain Kleene Algebras.›
definition pp_a :: "'a ppath set ⇒ 'a ppath set" where
"pp_a X = {(Node u) |u. ¬ (∃v ∈ X. u = pp_first v)}"