src/HOL/Tools/Function/function_elims.ML
changeset 58963 26bf09b95dda
parent 55968 94242fa87638
child 59454 588b81d19823
equal deleted inserted replaced
58960:4bee6d8c1500 58963:26bf09b95dda
   123 
   123 
   124         fun prep_subgoal_tac i =
   124         fun prep_subgoal_tac i =
   125           REPEAT (eresolve_tac @{thms Pair_inject} i)
   125           REPEAT (eresolve_tac @{thms Pair_inject} i)
   126           THEN Method.insert_tac (case asms_thms of thm :: thms => (thm RS sym) :: thms) i
   126           THEN Method.insert_tac (case asms_thms of thm :: thms => (thm RS sym) :: thms) i
   127           THEN propagate_tac ctxt i
   127           THEN propagate_tac ctxt i
   128           THEN TRY ((EqSubst.eqsubst_asm_tac ctxt [1] psimps i) THEN atac i)
   128           THEN TRY ((EqSubst.eqsubst_asm_tac ctxt [1] psimps i) THEN assume_tac ctxt i)
   129           THEN bool_subst_tac ctxt i;
   129           THEN bool_subst_tac ctxt i;
   130 
   130 
   131       val elim_stripped =
   131       val elim_stripped =
   132         nth cases idx
   132         nth cases idx
   133         |> Thm.forall_elim @{cterm "P::bool"}
   133         |> Thm.forall_elim @{cterm "P::bool"}