diff -r 48b4e0cd94cd -r 7edbb16bc60f src/HOL/Bali/TypeSafe.thy --- a/src/HOL/Bali/TypeSafe.thy Tue Mar 14 14:00:07 2023 +0100 +++ b/src/HOL/Bali/TypeSafe.thy Tue Mar 14 18:19:10 2023 +0100 @@ -815,7 +815,7 @@ wf_mhead G P sig mh; list_all2 (conf G s) pvs pTsa; G\pTsa[\](parTs sig)\ \ G,s\Map.empty (pars mh[\]pvs) - [\\\]table_of lvars(pars mh[\]parTs sig)" + [\\\](table_of lvars)(pars mh[\]parTs sig)" apply (unfold wf_mhead_def) apply clarify apply (erule (1) wlconf_empty_vals [THEN wlconf_ext_list]) @@ -895,7 +895,7 @@ (case k of EName e \ (case e of VNam v - \ (table_of (lcls (mbody (mthd dm))) + \ ((table_of (lcls (mbody (mthd dm)))) (pars (mthd dm)[\]parTs sig)) v | Res \ Some (resTy (mthd dm))) | This \ if (is_static (mthd sm)) @@ -1180,7 +1180,7 @@ lemma map_upds_upd_eq_length_simp: "\ tab qs x y. length ps = length qs - \ tab(ps[\]qs)(x\y) = tab(ps@[x][\]qs@[y])" + \ tab(ps[\]qs, x\y) = tab(ps@[x][\]qs@[y])" proof (induct "ps") case Nil thus ?case by simp next @@ -1189,7 +1189,7 @@ obtain q qs' where qs: "qs=q#qs'" and eq_length: "length ps=length qs'" by (cases qs) auto from eq_length - have "(tab(p\q))(ps[\]qs')(x\y) = (tab(p\q))(ps@[x][\]qs'@[y])" + have "(tab(p\q))(ps[\]qs', x\y) = (tab(p\q))(ps@[x][\]qs'@[y])" by (rule Cons.hyps) with qs show ?case by simp @@ -1219,7 +1219,7 @@ show ?thesis by simp next case (Cons y ys') - have "(tab(x\y)(xs[\]ys')) z = (tab'(x\y)(xs[\]ys')) z" + have "(tab(x\y, xs[\]ys')) z = (tab'(x\y, xs[\]ys')) z" by (iprover intro: Hyps map_upd_cong_ext) with Cons show ?thesis by simp @@ -1230,7 +1230,7 @@ by simp lemma map_upds_eq_length_suffix: "\ tab qs. - length ps = length qs \ tab(ps@xs[\]qs) = tab(ps[\]qs)(xs[\][])" + length ps = length qs \ tab(ps@xs[\]qs) = tab(ps[\]qs, xs[\][])" proof (induct ps) case Nil thus ?case by simp next @@ -1238,7 +1238,7 @@ then obtain q qs' where qs: "qs=q#qs'" and eq_length: "length ps=length qs'" by (cases qs) auto from eq_length - have "tab(p\q)(ps @ xs[\]qs') = tab(p\q)(ps[\]qs')(xs[\][])" + have "tab(p\q, ps @ xs[\]qs') = tab(p\q, ps[\]qs', xs[\][])" by (rule Cons.hyps) with qs show ?case by simp @@ -1247,7 +1247,7 @@ lemma map_upds_upds_eq_length_prefix_simp: "\ tab qs. length ps = length qs - \ tab(ps[\]qs)(xs[\]ys) = tab(ps@xs[\]qs@ys)" + \ tab(ps[\]qs, xs[\]ys) = tab(ps@xs[\]qs@ys)" proof (induct ps) case Nil thus ?case by simp next @@ -1255,7 +1255,7 @@ then obtain q qs' where qs: "qs=q#qs'" and eq_length: "length ps=length qs'" by (cases qs) auto from eq_length - have "tab(p\q)(ps[\]qs')(xs[\]ys) = tab(p\q)(ps @ xs[\](qs' @ ys))" + have "tab(p\q, ps[\]qs', xs[\]ys) = tab(p\q, ps @ xs[\](qs' @ ys))" by (rule Cons.hyps) with qs show ?case by simp @@ -1297,11 +1297,11 @@ lemma map_upd_Some_swap: - "(tab(r\w)(u\v)) vn = Some z \ \ z. (tab(u\v)(r\w)) vn = Some z" + "(tab(r\w, u\v)) vn = Some z \ \ z. (tab(u\v, r\w)) vn = Some z" by (simp add: fun_upd_def) lemma map_upd_None_swap: - "(tab(r\w)(u\v)) vn = None \ (tab(u\v)(r\w)) vn = None" + "(tab(r\w, u\v)) vn = None \ (tab(u\v, r\w)) vn = None" by (simp add: fun_upd_def) @@ -1331,7 +1331,7 @@ show ?thesis proof (cases "(tab(x\y)) vn \ Some z") case True - with some ys have "(tab'(x\y)(xs[\]tl)) vn = Some z" + with some ys have "(tab'(x\y, xs[\]tl)) vn = Some z" by (fastforce intro: Cons.hyps) with ys show ?thesis by simp @@ -1345,7 +1345,7 @@ ultimately have "(tab(x\y)) vn =(tab'(x\y)) vn" by simp - hence "(tab(x\y)(xs[\]tl)) vn = (tab'(x\y)(xs[\]tl)) vn" + hence "(tab(x\y, xs[\]tl)) vn = (tab'(x\y, xs[\]tl)) vn" by (rule map_upds_cong_ext) with some ys show ?thesis @@ -1355,18 +1355,18 @@ qed lemma map_upds_Some_swap: - assumes r_u: "(tab(r\w)(u\v)(xs[\]ys)) vn = Some z" - shows "\ z. (tab(u\v)(r\w)(xs[\]ys)) vn = Some z" -proof (cases "(tab(r\w)(u\v)) vn = Some z") + assumes r_u: "(tab(r\w, u\v, xs[\]ys)) vn = Some z" + shows "\ z. (tab(u\v, r\w, xs[\]ys)) vn = Some z" +proof (cases "(tab(r\w, u\v)) vn = Some z") case True - then obtain z' where "(tab(u\v)(r\w)) vn = Some z'" + then obtain z' where "(tab(u\v, r\w)) vn = Some z'" by (rule map_upd_Some_swap [elim_format]) blast - thus "\ z. (tab(u\v)(r\w)(xs[\]ys)) vn = Some z" + thus "\ z. (tab(u\v, r\w, xs[\]ys)) vn = Some z" by (rule map_upds_Some_expand) next case False with r_u - have "(tab(u\v)(r\w)(xs[\]ys)) vn = Some z" + have "(tab(u\v, r\w, xs[\]ys)) vn = Some z" by (rule map_upds_in_expansion_map_swap) thus ?thesis by simp @@ -1374,7 +1374,7 @@ lemma map_upds_Some_insert: assumes z: "(tab(xs[\]ys)) vn = Some z" - shows "\ z. (tab(u\v)(xs[\]ys)) vn = Some z" + shows "\ z. (tab(u\v, xs[\]ys)) vn = Some z" proof (cases "\ z. tab vn = Some z") case True then obtain z' where "tab vn = Some z'" by blast @@ -1386,7 +1386,7 @@ case False hence "tab vn \ Some z" by simp with z - have "(tab(u\v)(xs[\]ys)) vn = Some z" + have "(tab(u\v, xs[\]ys)) vn = Some z" by (rule map_upds_in_expansion_map_swap) thus ?thesis .. qed @@ -1425,7 +1425,7 @@ have "(tab(x\y)) vn = Some el" by - (rule Cons.hyps,auto) moreover from tab'_vn ys - have "(tab'(x\y)(xs[\]tl)) vn = None" + have "(tab'(x\y, xs[\]tl)) vn = None" by simp hence "(tab'(x\y)) vn = None" by (rule map_upds_None_cut) @@ -1436,7 +1436,7 @@ lemma dom_vname_split: - "dom (case_lname (case_ename (tab(x\y)(xs[\]ys)) a) b) + "dom (case_lname (case_ename (tab(x\y, xs[\]ys)) a) b) = dom (case_lname (case_ename (tab(x\y)) a) b) \ dom (case_lname (case_ename (tab(xs[\]ys)) a) b)" (is "?List x xs y ys = ?Hd x y \ ?Tl xs ys") @@ -1503,7 +1503,7 @@ case Nil with len show ?thesis by simp next case (Cons y tl) - with len have "dom (tab(x\y)(xs[\]tl)) = dom (tab(x\y)) \ set xs" + with len have "dom (tab(x\y, xs[\]tl)) = dom (tab(x\y)) \ set xs" by - (rule Hyp,simp) moreover have "dom (tab(x\hd ys)) = dom tab \ {x}" @@ -3162,7 +3162,7 @@ EName e \ (case e of VNam v - \(table_of (lcls (mbody (mthd dynM))) + \((table_of (lcls (mbody (mthd dynM)))) (pars (mthd dynM)[\]pTs')) v | Res \ Some (resTy dynM)) | This \ if is_static statM