equal
deleted
inserted
replaced
439 THEN' REPEAT_DETERM o resolve_tac ctxt @{thms exI} |
439 THEN' REPEAT_DETERM o resolve_tac ctxt @{thms exI} |
440 THEN' resolve_tac ctxt @{thms conjI} THEN' resolve_tac ctxt @{thms refl} THEN' assume_tac ctxt |
440 THEN' resolve_tac ctxt @{thms conjI} THEN' resolve_tac ctxt @{thms refl} THEN' assume_tac ctxt |
441 THEN' REPEAT_DETERM o eresolve_tac ctxt @{thms exE} |
441 THEN' REPEAT_DETERM o eresolve_tac ctxt @{thms exE} |
442 THEN' eresolve_tac ctxt @{thms conjE} |
442 THEN' eresolve_tac ctxt @{thms conjE} |
443 THEN' REPEAT_DETERM o eresolve_tac ctxt @{thms Pair_inject} |
443 THEN' REPEAT_DETERM o eresolve_tac ctxt @{thms Pair_inject} |
444 THEN' Subgoal.FOCUS (fn {prems, ...} => |
444 THEN' Subgoal.FOCUS (fn {prems, context = ctxt', ...} => |
445 (* FIXME inner context!? *) |
445 simp_tac (put_simpset HOL_basic_ss ctxt' addsimps (filter is_eq prems)) 1) ctxt |
446 simp_tac (put_simpset HOL_basic_ss ctxt addsimps (filter is_eq prems)) 1) ctxt |
|
447 THEN' TRY o assume_tac ctxt |
446 THEN' TRY o assume_tac ctxt |
448 in |
447 in |
449 case try mk_term (Thm.term_of ct) of |
448 case try mk_term (Thm.term_of ct) of |
450 NONE => Thm.reflexive ct |
449 NONE => Thm.reflexive ct |
451 | SOME t' => |
450 | SOME t' => |