equal
deleted
inserted
replaced
1144 val cyIns = map2 (mk_cIn (Term.map_types B_ify ctor)) ks yss; |
1144 val cyIns = map2 (mk_cIn (Term.map_types B_ify ctor)) ks yss; |
1145 |
1145 |
1146 fun mk_map_thm ctr_def' cxIn = |
1146 fun mk_map_thm ctr_def' cxIn = |
1147 fold_thms lthy [ctr_def'] |
1147 fold_thms lthy [ctr_def'] |
1148 (unfold_thms lthy (o_apply :: pre_map_def :: |
1148 (unfold_thms lthy (o_apply :: pre_map_def :: |
1149 (if fp = Least_FP then [] else [ctor_dtor, dtor_ctor]) @ sumprod_thms_map @ |
1149 (if fp = Least_FP then [] else [dtor_ctor]) @ sumprod_thms_map @ |
1150 abs_inverses) |
1150 abs_inverses) |
1151 (cterm_instantiate_pos (nones @ [SOME cxIn]) |
1151 (cterm_instantiate_pos (nones @ [SOME cxIn]) |
1152 (if fp = Least_FP then fp_map_thm else fp_map_thm RS ctor_cong))) |
1152 (if fp = Least_FP then fp_map_thm |
|
1153 else fp_map_thm RS ctor_cong RS (ctor_dtor RS sym RS trans)))) |
1153 |> singleton (Proof_Context.export names_lthy no_defs_lthy); |
1154 |> singleton (Proof_Context.export names_lthy no_defs_lthy); |
1154 |
1155 |
1155 fun mk_set_thm fp_set_thm ctr_def' cxIn = |
1156 fun mk_set_thm fp_set_thm ctr_def' cxIn = |
1156 fold_thms lthy [ctr_def'] |
1157 fold_thms lthy [ctr_def'] |
1157 (unfold_thms lthy (pre_set_defs @ nested_set_maps @ nesting_set_maps @ |
1158 (unfold_thms lthy (pre_set_defs @ nested_set_maps @ nesting_set_maps @ |