equal
deleted
inserted
replaced
537 val ((xs, ps), ctxt') = focus_params t ctxt; |
537 val ((xs, ps), ctxt') = focus_params t ctxt; |
538 val t' = Term.subst_bounds (rev (map Free ps), Term.strip_all_body t); |
538 val t' = Term.subst_bounds (rev (map Free ps), Term.strip_all_body t); |
539 in (((xs ~~ ps), t'), ctxt') end; |
539 in (((xs ~~ ps), t'), ctxt') end; |
540 |
540 |
541 fun forall_elim_prop t prop = |
541 fun forall_elim_prop t prop = |
542 Thm.beta_conversion false (Thm.capply (Thm.dest_arg prop) t) |
542 Thm.beta_conversion false (Thm.apply (Thm.dest_arg prop) t) |
543 |> Thm.cprop_of |> Thm.dest_arg; |
543 |> Thm.cprop_of |> Thm.dest_arg; |
544 |
544 |
545 fun focus_cterm goal ctxt = |
545 fun focus_cterm goal ctxt = |
546 let |
546 let |
547 val cert = Thm.cterm_of (Thm.theory_of_cterm goal); |
547 val cert = Thm.cterm_of (Thm.theory_of_cterm goal); |