src/HOL/Tools/function_package/size.ML
changeset 31737 b3f63611784e
parent 31723 f5cafe803b55
equal deleted inserted replaced
31736:926ebca5a145 31737:b3f63611784e
    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);