658 apply (simp_all (no_asm_use) split del: split_if_asm) |
658 apply (simp_all (no_asm_use) split del: split_if_asm) |
659 apply (safe del: disjE) |
659 apply (safe del: disjE) |
660 (* 17 subgoals *) |
660 (* 17 subgoals *) |
661 apply (tactic {* ALLGOALS (fn i => |
661 apply (tactic {* ALLGOALS (fn i => |
662 if i = 11 then EVERY' |
662 if i = 11 then EVERY' |
663 [Rule_Insts.thin_tac @{context} "?E,dt\<Turnstile>e0\<Colon>-PrimT Boolean", |
663 [Rule_Insts.thin_tac @{context} "?E,dt\<Turnstile>e0\<Colon>-PrimT Boolean" [], |
664 Rule_Insts.thin_tac @{context} "?E,dt\<Turnstile>e1\<Colon>-?T1", |
664 Rule_Insts.thin_tac @{context} "?E,dt\<Turnstile>e1\<Colon>-?T1" [], |
665 Rule_Insts.thin_tac @{context} "?E,dt\<Turnstile>e2\<Colon>-?T2"] i |
665 Rule_Insts.thin_tac @{context} "?E,dt\<Turnstile>e2\<Colon>-?T2" []] i |
666 else Rule_Insts.thin_tac @{context} "All ?P" i) *}) |
666 else Rule_Insts.thin_tac @{context} "All ?P" [] i) *}) |
667 (*apply (safe del: disjE elim!: wt_elim_cases)*) |
667 (*apply (safe del: disjE elim!: wt_elim_cases)*) |
668 apply (tactic {*ALLGOALS (eresolve_tac @{context} @{thms wt_elim_cases})*}) |
668 apply (tactic {*ALLGOALS (eresolve_tac @{context} @{thms wt_elim_cases})*}) |
669 apply (simp_all (no_asm_use) split del: split_if_asm) |
669 apply (simp_all (no_asm_use) split del: split_if_asm) |
670 apply (erule_tac [12] V = "All ?P" in thin_rl) (* Call *) |
670 apply (erule_tac [12] V = "All ?P" in thin_rl) (* Call *) |
671 apply (blast del: equalityCE dest: sym [THEN trans])+ |
671 apply (blast del: equalityCE dest: sym [THEN trans])+ |