src/HOL/MicroJava/J/JTypeSafe.thy
changeset 51717 9e7d1c139569
parent 51686 532e0ac5a66d
child 51798 ad3a241def73
equal deleted inserted replaced
51709:19b47bfac6ef 51717:9e7d1c139569
   198 
   198 
   199 -- "several simplifications, XcptE, XcptEs, XcptS, Skip, Nil??"
   199 -- "several simplifications, XcptE, XcptEs, XcptS, Skip, Nil??"
   200 apply( simp_all)
   200 apply( simp_all)
   201 apply( tactic "ALLGOALS (REPEAT o resolve_tac [impI, allI])")
   201 apply( tactic "ALLGOALS (REPEAT o resolve_tac [impI, allI])")
   202 apply( tactic {* ALLGOALS (eresolve_tac [@{thm ty_expr.cases}, @{thm ty_exprs.cases}, @{thm wt_stmt.cases}]
   202 apply( tactic {* ALLGOALS (eresolve_tac [@{thm ty_expr.cases}, @{thm ty_exprs.cases}, @{thm wt_stmt.cases}]
   203                  THEN_ALL_NEW (full_simp_tac (simpset_of @{theory_context Conform}))) *})
   203   THEN_ALL_NEW (full_simp_tac (put_simpset (simpset_of @{theory_context Conform}) @{context}))) *})
   204 apply(tactic "ALLGOALS (EVERY' [REPEAT o (etac conjE), REPEAT o hyp_subst_tac])")
   204 apply(tactic "ALLGOALS (EVERY' [REPEAT o (etac conjE), REPEAT o hyp_subst_tac])")
   205 
   205 
   206 -- "Level 7"
   206 -- "Level 7"
   207 -- "15 NewC"
   207 -- "15 NewC"
   208 apply (drule sym)
   208 apply (drule sym)
   238 apply simp
   238 apply simp
   239 apply( fast elim: conforms_localD [THEN lconfD])
   239 apply( fast elim: conforms_localD [THEN lconfD])
   240 
   240 
   241 -- "for FAss"
   241 -- "for FAss"
   242 apply( tactic {* EVERY'[eresolve_tac [@{thm ty_expr.cases}, @{thm ty_exprs.cases}, @{thm wt_stmt.cases}] 
   242 apply( tactic {* EVERY'[eresolve_tac [@{thm ty_expr.cases}, @{thm ty_exprs.cases}, @{thm wt_stmt.cases}] 
   243        THEN_ALL_NEW (full_simp_tac @{simpset}), REPEAT o (etac conjE), hyp_subst_tac] 3*})
   243        THEN_ALL_NEW (full_simp_tac @{context}), REPEAT o (etac conjE), hyp_subst_tac] 3*})
   244 
   244 
   245 -- "for if"
   245 -- "for if"
   246 apply( tactic {* (Induct_Tacs.case_tac @{context} "the_Bool v" THEN_ALL_NEW
   246 apply( tactic {* (Induct_Tacs.case_tac @{context} "the_Bool v" THEN_ALL_NEW
   247   (asm_full_simp_tac @{simpset})) 7*})
   247   (asm_full_simp_tac @{context})) 7*})
   248 
   248 
   249 apply (tactic "forward_hyp_tac")
   249 apply (tactic "forward_hyp_tac")
   250 
   250 
   251 -- "11+1 if"
   251 -- "11+1 if"
   252 prefer 7
   252 prefer 7
   274 
   274 
   275 
   275 
   276 -- "7 LAss"
   276 -- "7 LAss"
   277 apply (fold fun_upd_def)
   277 apply (fold fun_upd_def)
   278 apply( tactic {* (eresolve_tac [@{thm ty_expr.cases}, @{thm ty_exprs.cases}, @{thm wt_stmt.cases}] 
   278 apply( tactic {* (eresolve_tac [@{thm ty_expr.cases}, @{thm ty_exprs.cases}, @{thm wt_stmt.cases}] 
   279                  THEN_ALL_NEW (full_simp_tac @{simpset})) 1 *})
   279                  THEN_ALL_NEW (full_simp_tac @{context})) 1 *})
   280 apply (intro strip)
   280 apply (intro strip)
   281 apply (case_tac E)
   281 apply (case_tac E)
   282 apply (simp)
   282 apply (simp)
   283 apply( blast intro: conforms_upd_local conf_widen)
   283 apply( blast intro: conforms_upd_local conf_widen)
   284 
   284