Skip to content

Commit

Permalink
Added preserves and establishes syntax
Browse files Browse the repository at this point in the history
  • Loading branch information
simondfoster committed Jul 3, 2024
1 parent d8e2c28 commit b73e4a8
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions Z_Machine.thy
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,16 @@ definition z_machine :: "('s::default) subst \<Rightarrow> ('e, 's) htree list \
[code_unfold]: "z_machine Init Ops = process Init (loop (foldr (\<box>) Ops Stop))"
*)

syntax
"_preserves" :: "logic \<Rightarrow> logic \<Rightarrow> logic" (infix "preserves" 40)
"_preserves_under" :: "logic \<Rightarrow> logic \<Rightarrow> logic \<Rightarrow> logic" ("_ preserves _ under _" [40, 0, 40] 40)
"_establishes" :: "logic \<Rightarrow> logic \<Rightarrow> logic" (infix "establishes" 40)

translations
"_preserves S P" => "H{P} S {P}"
"_preserves_under S P Q" => "H{P \<and> Q} S {P}"
"_establishes \<sigma> P" => "H{CONST True} \<langle>\<sigma>\<rangle>\<^sub>a {P}"

lemma deadlock_free_z_machine:
fixes Inv :: "'s::default \<Rightarrow> bool"
assumes
Expand Down

0 comments on commit b73e4a8

Please sign in to comment.