equal
deleted
inserted
replaced
167 (case parts of |
167 (case parts of |
168 [_] => [] (*no mutual recursion*) |
168 [_] => [] (*no mutual recursion*) |
169 | _ => rec_tms ~~ (*define the sets as Parts*) |
169 | _ => rec_tms ~~ (*define the sets as Parts*) |
170 map (subst_atomic [(Free(X',iT),big_rec_tm)]) parts)); |
170 map (subst_atomic [(Free(X',iT),big_rec_tm)]) parts)); |
171 |
171 |
172 in thy |> add_defns_i axpairs end |
172 in thy |> add_defs_i axpairs end |
173 |
173 |
174 |
174 |
175 (*external, string-based version; needed?*) |
175 (*external, string-based version; needed?*) |
176 fun add_fp_def (rec_doms, sintrs) thy = |
176 fun add_fp_def (rec_doms, sintrs) thy = |
177 let val sign = sign_of thy; |
177 let val sign = sign_of thy; |
257 (big_case_name, big_case_typ, NoSyn) :: map #1 (flat con_ty_lists); |
257 (big_case_name, big_case_typ, NoSyn) :: map #1 (flat con_ty_lists); |
258 |
258 |
259 val axpairs = |
259 val axpairs = |
260 big_case_def :: flat (map mk_con_defs ((1 upto npart) ~~ con_ty_lists)) |
260 big_case_def :: flat (map mk_con_defs ((1 upto npart) ~~ con_ty_lists)) |
261 |
261 |
262 in thy |> add_consts_i const_decs |> add_defns_i axpairs end; |
262 in thy |> add_consts_i const_decs |> add_defs_i axpairs end; |
263 end; |
263 end; |
264 |
|
265 |
|
266 |
|
267 |
|