src/HOL/Tools/inductive.ML
changeset 33519 e31a85f92ce9
parent 33459 a4a38ed813f7
child 33553 35f2b30593a8
child 33583 b5e0909cd5ea
equal deleted inserted replaced
33518:24563731b9b2 33519:e31a85f92ce9
   134   end;
   134   end;
   135 
   135 
   136 type inductive_info =
   136 type inductive_info =
   137   {names: string list, coind: bool} * inductive_result;
   137   {names: string list, coind: bool} * inductive_result;
   138 
   138 
   139 structure InductiveData = GenericDataFun
   139 structure InductiveData = Generic_Data
   140 (
   140 (
   141   type T = inductive_info Symtab.table * thm list;
   141   type T = inductive_info Symtab.table * thm list;
   142   val empty = (Symtab.empty, []);
   142   val empty = (Symtab.empty, []);
   143   val extend = I;
   143   val extend = I;
   144   fun merge _ ((tab1, monos1), (tab2, monos2)) =
   144   fun merge ((tab1, monos1), (tab2, monos2)) : T =
   145     (Symtab.merge (K true) (tab1, tab2), Thm.merge_thms (monos1, monos2));
   145     (Symtab.merge (K true) (tab1, tab2), Thm.merge_thms (monos1, monos2));
   146 );
   146 );
   147 
   147 
   148 val get_inductives = InductiveData.get o Context.Proof;
   148 val get_inductives = InductiveData.get o Context.Proof;
   149 
   149