equal
deleted
inserted
replaced
28 case_rewrites : thm list, |
28 case_rewrites : thm list, |
29 case_cong : thm, |
29 case_cong : thm, |
30 case_cong_weak : thm, |
30 case_cong_weak : thm, |
31 split : thm, |
31 split : thm, |
32 split_asm: thm} |
32 split_asm: thm} |
|
33 type spec = (binding * (string * sort) list * mixfix) * (binding * typ list * mixfix) list |
33 end |
34 end |
34 |
35 |
35 signature OLD_DATATYPE_AUX = |
36 signature OLD_DATATYPE_AUX = |
36 sig |
37 sig |
37 include OLD_DATATYPE_COMMON |
38 include OLD_DATATYPE_COMMON |
197 case_cong : thm, |
198 case_cong : thm, |
198 case_cong_weak : thm, |
199 case_cong_weak : thm, |
199 split : thm, |
200 split : thm, |
200 split_asm: thm}; |
201 split_asm: thm}; |
201 |
202 |
|
203 type spec = (binding * (string * sort) list * mixfix) * (binding * typ list * mixfix) list; |
|
204 |
202 fun mk_Free s T i = Free (s ^ string_of_int i, T); |
205 fun mk_Free s T i = Free (s ^ string_of_int i, T); |
203 |
206 |
204 fun subst_DtTFree _ substs (T as DtTFree a) = the_default T (AList.lookup (op =) substs a) |
207 fun subst_DtTFree _ substs (T as DtTFree a) = the_default T (AList.lookup (op =) substs a) |
205 | subst_DtTFree i substs (DtType (name, ts)) = DtType (name, map (subst_DtTFree i substs) ts) |
208 | subst_DtTFree i substs (DtType (name, ts)) = DtType (name, map (subst_DtTFree i substs) ts) |
206 | subst_DtTFree i _ (DtRec j) = DtRec (i + j); |
209 | subst_DtTFree i _ (DtRec j) = DtRec (i + j); |