src/HOL/Tools/ATP/atp_problem_generate.ML
changeset 60328 9c94e6a30d29
parent 59970 e9f73d87d904
child 60924 610794dff23c
equal deleted inserted replaced
60327:a3f565b8ba76 60328:9c94e6a30d29
   757                     (0 upto length Ts - 1 ~~ Ts))
   757                     (0 upto length Ts - 1 ~~ Ts))
   758 
   758 
   759 fun do_introduce_combinators ctxt Ts t =
   759 fun do_introduce_combinators ctxt Ts t =
   760   (t |> conceal_bounds Ts
   760   (t |> conceal_bounds Ts
   761      |> Thm.cterm_of ctxt
   761      |> Thm.cterm_of ctxt
   762      |> Meson_Clausify.introduce_combinators_in_cterm
   762      |> Meson_Clausify.introduce_combinators_in_cterm ctxt
   763      |> Thm.prop_of |> Logic.dest_equals |> snd
   763      |> Thm.prop_of |> Logic.dest_equals |> snd
   764      |> reveal_bounds Ts)
   764      |> reveal_bounds Ts)
   765   (* A type variable of sort "{}" will make abstraction fail. *)
   765   (* A type variable of sort "{}" will make abstraction fail. *)
   766   handle THM _ => t |> do_cheaply_conceal_lambdas Ts
   766   handle THM _ => t |> do_cheaply_conceal_lambdas Ts
   767 val introduce_combinators = simple_translate_lambdas do_introduce_combinators
   767 val introduce_combinators = simple_translate_lambdas do_introduce_combinators