src/HOL/Tools/meson.ML
changeset 34974 18b41bba42b5
parent 33832 cff42395c246
child 35410 1ea89d2a1bd4
equal deleted inserted replaced
34973:ae634fad947e 34974:18b41bba42b5
   401 val has_bool_arg_const =
   401 val has_bool_arg_const =
   402     exists_Const
   402     exists_Const
   403       (fn (c,T) => not(is_conn c) andalso exists (has_bool) (binder_types T));
   403       (fn (c,T) => not(is_conn c) andalso exists (has_bool) (binder_types T));
   404 
   404 
   405 (*A higher-order instance of a first-order constant? Example is the definition of
   405 (*A higher-order instance of a first-order constant? Example is the definition of
   406   HOL.one, 1, at a function type in theory SetsAndFunctions.*)
   406   one, 1, at a function type in theory SetsAndFunctions.*)
   407 fun higher_inst_const thy (c,T) =
   407 fun higher_inst_const thy (c,T) =
   408   case binder_types T of
   408   case binder_types T of
   409       [] => false (*not a function type, OK*)
   409       [] => false (*not a function type, OK*)
   410     | Ts => length (binder_types (Sign.the_const_type thy c)) <> length Ts;
   410     | Ts => length (binder_types (Sign.the_const_type thy c)) <> length Ts;
   411 
   411