Theory SemanticsCFG

Up to index of Isabelle/HOL/Jinja/Slicing

theory SemanticsCFG
imports CFG
header {* \isaheader{CFG and semantics conform} *}

theory SemanticsCFG imports CFG begin

locale CFG_semantics_wf = CFG sourcenode targetnode kind valid_edge Entry
for sourcenode :: "'edge => 'node" and targetnode :: "'edge => 'node"
and kind :: "'edge => 'state edge_kind" and valid_edge :: "'edge => bool"
and Entry :: "'node" ("'('_Entry'_')") +
fixes sem::"'com => 'state => 'com => 'state => bool"
("((1⟨_,/_⟩) =>/ (1⟨_,/_⟩))" [0,0,0,0] 81)
fixes identifies::"'node => 'com => bool" ("_ \<triangleq> _" [51,0] 80)
assumes fundamental_property:
"[|n \<triangleq> c; ⟨c,s⟩ => ⟨c',s'⟩|] ==>
∃n' as. n -as->* n' ∧ transfers (kinds as) s = s' ∧ preds (kinds as) s ∧
n' \<triangleq> c'"



end