equal
deleted
inserted
replaced
490 by (eresolve_tac has_type_casesE 1); |
490 by (eresolve_tac has_type_casesE 1); |
491 by (eres_inst_tac [("x","%x.if x=n then t1 else (S' x)")] allE 1); |
491 by (eres_inst_tac [("x","%x.if x=n then t1 else (S' x)")] allE 1); |
492 by (eres_inst_tac [("x","(FVar n)#A")] allE 1); |
492 by (eres_inst_tac [("x","(FVar n)#A")] allE 1); |
493 by (eres_inst_tac [("x","t2")] allE 1); |
493 by (eres_inst_tac [("x","t2")] allE 1); |
494 by (eres_inst_tac [("x","Suc n")] allE 1); |
494 by (eres_inst_tac [("x","Suc n")] allE 1); |
495 by (best_tac (HOL_cs addSDs [mk_scheme_injective] addss (!simpset addcongs [conj_cong] |
495 by (best_tac (HOL_cs addSDs [mk_scheme_injective] unsafe_addss (!simpset addcongs [conj_cong] |
496 setloop (split_tac [expand_option_bind]))) 1); |
496 setloop (split_tac [expand_option_bind]))) 1); |
497 |
497 |
498 (* case App e1 e2 *) |
498 (* case App e1 e2 *) |
499 by (strip_tac 1); |
499 by (strip_tac 1); |
500 by (eresolve_tac has_type_casesE 1); |
500 by (eresolve_tac has_type_casesE 1); |