diff -r b3795b1f030b -r ce85c3c4e5bf Implementation.thy --- a/Implementation.thy Sun Feb 07 21:21:53 2016 +0800 +++ b/Implementation.thy Mon Feb 08 10:57:01 2016 +0800 @@ -81,7 +81,7 @@ (is "Max (?f ` ?S1) = Max (?g ` ?S2)") proof - -- {* The base sets are equal. *} - have "?S1 = ?S2" using RAG_unchanged by simp + have "?S1 = ?S2" using RAG_es by simp -- {* The function values on the base set are equal as well. *} moreover have "\ e \ ?S2. ?f e = ?g e" proof @@ -163,6 +163,14 @@ to take over the critical resource released by the initiating thread @{text "th"}. *} +lemma (in valid_trace_v) + the_preced_es: "the_preced (e#s) = the_preced s" +proof + fix th' + show "the_preced (e # s) th' = the_preced s th'" + by (unfold the_preced_def preced_def is_v, simp) +qed + context valid_trace_v_n begin @@ -375,7 +383,7 @@ lemma tRAG_s: "tRAG (e#s) = tRAG s \ {(Th th, Th holder)}" - using local.RAG_tRAG_transfer[OF RAG_es cs_held] . + using RAG_tRAG_transfer[OF RAG_es cs_held] . lemma cp_kept: assumes "Th th'' \ ancestors (tRAG (e#s)) (Th th)" @@ -561,7 +569,7 @@ begin lemma tRAG_kept: "tRAG (e#s) = tRAG s" - by (unfold tRAG_alt_def RAG_unchanged, auto) + by (unfold tRAG_alt_def RAG_es, auto) lemma preced_kept: assumes "th' \ th" @@ -634,7 +642,7 @@ by (unfold the_preced_def is_exit preced_def, simp) lemma tRAG_kept: "tRAG (e#s) = tRAG s" - by (unfold tRAG_alt_def RAG_unchanged, auto) + by (unfold tRAG_alt_def RAG_es, auto) lemma th_RAG: "Th th \ Field (RAG s)" proof -