src/HOL/Tools/inductive_package.ML
changeset 16122 864fda4a4056
parent 15794 5de27a5fc5ed
child 16287 7a03b4b4df67
equal deleted inserted replaced
16121:a80aa66d2271 16122:864fda4a4056
    99   val prep_ext = I;
    99   val prep_ext = I;
   100   fun merge ((tab1, monos1), (tab2, monos2)) =
   100   fun merge ((tab1, monos1), (tab2, monos2)) =
   101     (Symtab.merge (K true) (tab1, tab2), Drule.merge_rules (monos1, monos2));
   101     (Symtab.merge (K true) (tab1, tab2), Drule.merge_rules (monos1, monos2));
   102 
   102 
   103   fun print sg (tab, monos) =
   103   fun print sg (tab, monos) =
   104     [Pretty.strs ("(co)inductives:" :: map #1 (Sign.cond_extern_table sg Sign.constK tab)),
   104     [Pretty.strs ("(co)inductives:" :: map #1 (Sign.extern_table sg Sign.constK tab)),
   105      Pretty.big_list "monotonicity rules:" (map (Display.pretty_thm_sg sg) monos)]
   105      Pretty.big_list "monotonicity rules:" (map (Display.pretty_thm_sg sg) monos)]
   106     |> Pretty.chunks |> Pretty.writeln;
   106     |> Pretty.chunks |> Pretty.writeln;
   107 end;
   107 end;
   108 
   108 
   109 structure InductiveData = TheoryDataFun(InductiveArgs);
   109 structure InductiveData = TheoryDataFun(InductiveArgs);