src/HOL/Tools/Old_Datatype/old_datatype.ML
changeset 60801 7664e0916eec
parent 60781 2da59cdf531c
child 61110 6b7c2ecc6aea
equal deleted inserted replaced
60799:57dd0b45fc21 60801:7664e0916eec
   395       in map (fn r => r RS subst) (thm :: map mk_thm arities) end;
   395       in map (fn r => r RS subst) (thm :: map mk_thm arities) end;
   396 
   396 
   397     (* prove  inj Rep_dt_i  and  Rep_dt_i x : rep_set_dt_i *)
   397     (* prove  inj Rep_dt_i  and  Rep_dt_i x : rep_set_dt_i *)
   398 
   398 
   399     val fun_congs =
   399     val fun_congs =
   400       map (fn T => make_elim (Drule.instantiate' [SOME (Thm.global_ctyp_of thy5 T)] [] fun_cong)) branchTs;
   400       map (fn T => make_elim (Thm.instantiate' [SOME (Thm.global_ctyp_of thy5 T)] [] fun_cong)) branchTs;
   401 
   401 
   402     fun prove_iso_thms ds (inj_thms, elem_thms) =
   402     fun prove_iso_thms ds (inj_thms, elem_thms) =
   403       let
   403       let
   404         val (_, (tname, _, _)) = hd ds;
   404         val (_, (tname, _, _)) = hd ds;
   405         val induct = #induct (the (Symtab.lookup dt_info tname));
   405         val induct = #induct (the (Symtab.lookup dt_info tname));