src/HOL/Tools/Nitpick/nitpick.ML
changeset 46103 1e35730bd869
parent 46086 096697aec8a7
child 46114 e6d33b200f42
equal deleted inserted replaced
46102:b669437de253 46103:1e35730bd869
   396       | is_shallow_datatype_finitizable T =
   396       | is_shallow_datatype_finitizable T =
   397         case triple_lookup (type_match thy) finitizes T of
   397         case triple_lookup (type_match thy) finitizes T of
   398           SOME (SOME b) => b
   398           SOME (SOME b) => b
   399         | _ => is_type_kind_of_monotonic T
   399         | _ => is_type_kind_of_monotonic T
   400     fun is_datatype_deep T =
   400     fun is_datatype_deep T =
   401       not standard orelse T = nat_T orelse is_word_type T orelse
   401       not standard orelse T = @{typ unit} orelse T = nat_T orelse
       
   402       is_word_type T orelse
   402       exists (curry (op =) T o domain_type o type_of) sel_names
   403       exists (curry (op =) T o domain_type o type_of) sel_names
   403     val all_Ts = ground_types_in_terms hol_ctxt binarize (nondef_ts @ def_ts)
   404     val all_Ts = ground_types_in_terms hol_ctxt binarize (nondef_ts @ def_ts)
   404                  |> sort Term_Ord.typ_ord
   405                  |> sort Term_Ord.typ_ord
   405     val _ =
   406     val _ =
   406       if verbose andalso binary_ints = SOME true andalso
   407       if verbose andalso binary_ints = SOME true andalso