src/HOL/MiniML/W.ML
changeset 2637 e9b203f854ae
parent 2625 69c1b8a493de
child 2749 2f477a0e690d
equal deleted inserted replaced
2636:4b30dbe4a020 2637:e9b203f854ae
   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);