src/HOL/Tools/Nitpick/nitpick.ML
changeset 41001 11715564e2ad
parent 40993 52ee2a187cdb
child 41007 75275c796b46
equal deleted inserted replaced
41000:4bbff1684465 41001:11715564e2ad
   345     fun is_type_fundamentally_monotonic T =
   345     fun is_type_fundamentally_monotonic T =
   346       (is_datatype ctxt stds T andalso not (is_quot_type ctxt T) andalso
   346       (is_datatype ctxt stds T andalso not (is_quot_type ctxt T) andalso
   347        (not (is_pure_typedef ctxt T) orelse is_univ_typedef ctxt T)) orelse
   347        (not (is_pure_typedef ctxt T) orelse is_univ_typedef ctxt T)) orelse
   348       is_number_type ctxt T orelse is_bit_type T
   348       is_number_type ctxt T orelse is_bit_type T
   349     fun is_type_actually_monotonic T =
   349     fun is_type_actually_monotonic T =
   350       formulas_monotonic hol_ctxt binarize 3 T (nondef_ts, def_ts)
   350       formulas_monotonic hol_ctxt binarize T (nondef_ts, def_ts)
   351     fun is_type_kind_of_monotonic T =
   351     fun is_type_kind_of_monotonic T =
   352       case triple_lookup (type_match thy) monos T of
   352       case triple_lookup (type_match thy) monos T of
   353         SOME (SOME false) => false
   353         SOME (SOME false) => false
   354       | _ => is_type_actually_monotonic T
   354       | _ => is_type_actually_monotonic T
   355     fun is_type_monotonic T =
   355     fun is_type_monotonic T =