equal
deleted
inserted
replaced
302 let val refute_prems_tac = |
302 let val refute_prems_tac = |
303 REPEAT_DETERM |
303 REPEAT_DETERM |
304 (eresolve_tac [@{thm conjE}, @{thm exE}] 1 ORELSE |
304 (eresolve_tac [@{thm conjE}, @{thm exE}] 1 ORELSE |
305 filter_prems_tac test 1 ORELSE |
305 filter_prems_tac test 1 ORELSE |
306 etac @{thm disjE} 1) THEN |
306 etac @{thm disjE} 1) THEN |
307 ((etac @{thm notE} 1 THEN eq_assume_tac 1) ORELSE |
307 (DETERM (etac @{thm notE} 1 THEN eq_assume_tac 1) ORELSE |
308 ref_tac 1); |
308 ref_tac 1); |
309 in EVERY'[TRY o filter_prems_tac test, |
309 in EVERY'[TRY o filter_prems_tac test, |
310 REPEAT_DETERM o etac @{thm rev_mp}, prep_tac, rtac @{thm ccontr}, prem_nnf_tac, |
310 REPEAT_DETERM o etac @{thm rev_mp}, prep_tac, rtac @{thm ccontr}, prem_nnf_tac, |
311 SELECT_GOAL (DEPTH_SOLVE refute_prems_tac)] |
311 SELECT_GOAL (DEPTH_SOLVE refute_prems_tac)] |
312 end; |
312 end; |