equal
deleted
inserted
replaced
118 local |
118 local |
119 fun ga s dn = PureThy.get_thm thy (dn ^ "." ^ s); |
119 fun ga s dn = PureThy.get_thm thy (dn ^ "." ^ s); |
120 in |
120 in |
121 val ax_abs_iso = ga "abs_iso" dname; |
121 val ax_abs_iso = ga "abs_iso" dname; |
122 val ax_rep_iso = ga "rep_iso" dname; |
122 val ax_rep_iso = ga "rep_iso" dname; |
123 val ax_when_def = ga "when_def" dname; |
|
124 val ax_copy_def = ga "copy_def" dname; |
123 val ax_copy_def = ga "copy_def" dname; |
125 end; (* local *) |
124 end; (* local *) |
126 |
125 |
127 (* ----- define constructors ------------------------------------------------ *) |
126 (* ----- define constructors ------------------------------------------------ *) |
128 |
127 |
152 rep_inverse = ax_rep_iso |
151 rep_inverse = ax_rep_iso |
153 }; |
152 }; |
154 |
153 |
155 val (result, thy) = |
154 val (result, thy) = |
156 Domain_Constructors.add_domain_constructors |
155 Domain_Constructors.add_domain_constructors |
157 (Long_Name.base_name dname) (snd dom_eqn) iso_info ax_when_def thy; |
156 (Long_Name.base_name dname) (snd dom_eqn) iso_info thy; |
158 |
157 |
159 val con_appls = #con_betas result; |
158 val con_appls = #con_betas result; |
160 val {exhaust, casedist, ...} = result; |
159 val {exhaust, casedist, ...} = result; |
161 val {con_compacts, con_rews, inverts, injects, dist_les, dist_eqs, ...} = result; |
160 val {con_compacts, con_rews, inverts, injects, dist_les, dist_eqs, ...} = result; |
162 val {sel_rews, ...} = result; |
161 val {sel_rews, ...} = result; |