equal
deleted
inserted
replaced
70 |
70 |
71 (*internal version*) |
71 (*internal version*) |
72 fun add_fp_def_i (rec_tms, dom_sum, intr_tms) thy = |
72 fun add_fp_def_i (rec_tms, dom_sum, intr_tms) thy = |
73 let |
73 let |
74 val dummy = (*has essential ancestors?*) |
74 val dummy = (*has essential ancestors?*) |
75 Theory.require thy "Inductive" "(co)inductive definitions" |
75 Theory.requires thy "Inductive" "(co)inductive definitions" |
76 |
76 |
77 val sign = sign_of thy; |
77 val sign = sign_of thy; |
78 |
78 |
79 (*recT and rec_params should agree for all mutually recursive components*) |
79 (*recT and rec_params should agree for all mutually recursive components*) |
80 val rec_hds = map head_of rec_tms; |
80 val rec_hds = map head_of rec_tms; |
176 (*Expects the recursive sets to have been defined already. |
176 (*Expects the recursive sets to have been defined already. |
177 con_ty_lists specifies the constructors in the form (name,prems,mixfix) *) |
177 con_ty_lists specifies the constructors in the form (name,prems,mixfix) *) |
178 fun add_constructs_def (rec_base_names, con_ty_lists) thy = |
178 fun add_constructs_def (rec_base_names, con_ty_lists) thy = |
179 let |
179 let |
180 val dummy = (*has essential ancestors?*) |
180 val dummy = (*has essential ancestors?*) |
181 Theory.require thy "Datatype" "(co)datatype definitions"; |
181 Theory.requires thy "Datatype" "(co)datatype definitions"; |
182 |
182 |
183 val sign = sign_of thy; |
183 val sign = sign_of thy; |
184 val full_name = Sign.full_name sign; |
184 val full_name = Sign.full_name sign; |
185 |
185 |
186 val dummy = writeln" Defining the constructor functions..."; |
186 val dummy = writeln" Defining the constructor functions..."; |