diff -r 029e1506477a -r 2bb3b65fc99f Correctness.thy --- a/Correctness.thy Fri Mar 17 14:57:30 2017 +0000 +++ b/Correctness.thy Tue Apr 11 03:03:33 2017 +0800 @@ -1240,13 +1240,15 @@ proof - let ?Q = "(\ t'. th \ running (t'@s))" from occs_le[of ?Q t] + thm occs_le have "?L \ (1 + length t) - occs ?Q t" by simp also have "... \ ?R" proof - + thm actions_th_occs actions_split have "length t - (length (actions_of blockers t) + length (filter (isCreate) t)) \ occs (\ t'. th \ running (t'@s)) t" (is "?L1 \ ?R1") proof - - have "?L1 = length (actions_of {th} t)" using actions_split by arith + from actions_split have "?L1 = length (actions_of {th} t)" using actions_split by arith also have "... \ ?R1" using actions_th_occs by simp finally show ?thesis . qed @@ -1280,7 +1282,7 @@ the particular environment in which it operates. In this particular case, we regard the @{term t} as the environment of thread @{term th}. *} - assumes finite_span: + assumes finite_span: "th' \ blockers \ (\ span. \ t'. extend_highest_gen s th prio tm t' \ \ detached (t'@s) th' \ length (actions_of {th'} t') < span)" @@ -1429,6 +1431,8 @@ "length t - ((\ th' \ blockers . span th') + BC) \ length (actions_of {th} t)" using actions_split create_bc len_action_blockers by linarith +thm actions_split + end