src/HOL/Tools/inductive_realizer.ML
changeset 26343 0dd2eab7b296
parent 26336 a0e2b706ce73
child 26477 ecf06644f6cb
equal deleted inserted replaced
26342:0f65fa163304 26343:0dd2eab7b296
   274 fun rename tab = map (fn x => the_default x (AList.lookup op = tab x));
   274 fun rename tab = map (fn x => the_default x (AList.lookup op = tab x));
   275 
   275 
   276 fun add_ind_realizer rsets intrs induct raw_induct elims (thy, vs) =
   276 fun add_ind_realizer rsets intrs induct raw_induct elims (thy, vs) =
   277   let
   277   let
   278     val qualifier = NameSpace.qualifier (name_of_thm induct);
   278     val qualifier = NameSpace.qualifier (name_of_thm induct);
   279     val inducts = PureThy.get_thms thy (Facts.Named (NameSpace.qualified qualifier "inducts", NONE));
   279     val inducts = PureThy.get_thms thy (NameSpace.qualified qualifier "inducts");
   280     val iTs = term_tvars (prop_of (hd intrs));
   280     val iTs = term_tvars (prop_of (hd intrs));
   281     val ar = length vs + length iTs;
   281     val ar = length vs + length iTs;
   282     val params = InductivePackage.params_of raw_induct;
   282     val params = InductivePackage.params_of raw_induct;
   283     val arities = InductivePackage.arities_of raw_induct;
   283     val arities = InductivePackage.arities_of raw_induct;
   284     val nparms = length params;
   284     val nparms = length params;