equal
deleted
inserted
replaced
177 fun strong_co_induct_of [_, s] = s; |
177 fun strong_co_induct_of [_, s] = s; |
178 |
178 |
179 (* TODO: register "sum" and "prod" as datatypes to enable N2M reduction for them *) |
179 (* TODO: register "sum" and "prod" as datatypes to enable N2M reduction for them *) |
180 |
180 |
181 fun register_fp_sugar key fp_sugar = |
181 fun register_fp_sugar key fp_sugar = |
182 Local_Theory.declaration {syntax = false, pervasive = false} |
182 Local_Theory.declaration {syntax = false, pervasive = true} |
183 (fn phi => Data.map (Symtab.default (key, morph_fp_sugar phi fp_sugar))); |
183 (fn phi => Data.map (Symtab.default (key, morph_fp_sugar phi fp_sugar))); |
184 |
184 |
185 fun register_fp_sugars fp pre_bnfs nested_bnfs nesting_bnfs (fp_res as {Ts, ...}) ctr_defss |
185 fun register_fp_sugars fp pre_bnfs nested_bnfs nesting_bnfs (fp_res as {Ts, ...}) ctr_defss |
186 ctr_sugars co_iterss mapss co_inducts co_iter_thmsss disc_co_itersss sel_co_iterssss lthy = |
186 ctr_sugars co_iterss mapss co_inducts co_iter_thmsss disc_co_itersss sel_co_iterssss lthy = |
187 (0, lthy) |
187 (0, lthy) |