equal
deleted
inserted
replaced
515 fun neg_clausify_tac ctxt = |
515 fun neg_clausify_tac ctxt = |
516 neg_skolemize_tac ctxt THEN' |
516 neg_skolemize_tac ctxt THEN' |
517 SUBGOAL (fn (prop, i) => |
517 SUBGOAL (fn (prop, i) => |
518 let val ts = Logic.strip_assums_hyp prop in |
518 let val ts = Logic.strip_assums_hyp prop in |
519 EVERY' |
519 EVERY' |
520 [FOCUS |
520 [Subgoal.FOCUS |
521 (fn {prems, ...} => |
521 (fn {prems, ...} => |
522 (Method.insert_tac |
522 (Method.insert_tac |
523 (map forall_intr_vars (neg_clausify prems)) i)) ctxt, |
523 (map forall_intr_vars (neg_clausify prems)) i)) ctxt, |
524 REPEAT_DETERM_N (length ts) o etac thin_rl] i |
524 REPEAT_DETERM_N (length ts) o etac thin_rl] i |
525 end); |
525 end); |