equal
deleted
inserted
replaced
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 |