equal
deleted
inserted
replaced
55 val SOME (_, _, constrs) = AList.lookup op = descr index |
55 val SOME (_, _, constrs) = AList.lookup op = descr index |
56 in constrs end; |
56 in constrs end; |
57 |
57 |
58 val app = curry (list_comb o swap); |
58 val app = curry (list_comb o swap); |
59 |
59 |
60 fun prove_size_thms (info : datatype_info) new_type_names thy = |
60 fun prove_size_thms (info : info) new_type_names thy = |
61 let |
61 let |
62 val {descr, alt_names, sorts, rec_names, rec_rewrites, induction, ...} = info; |
62 val {descr, alt_names, sorts, rec_names, rec_rewrites, induction, ...} = info; |
63 val l = length new_type_names; |
63 val l = length new_type_names; |
64 val alt_names' = (case alt_names of |
64 val alt_names' = (case alt_names of |
65 NONE => replicate l NONE | SOME names => map SOME names); |
65 NONE => replicate l NONE | SOME names => map SOME names); |