equal
deleted
inserted
replaced
705 (*Basis of all meson-tactics. Supplies cltac with clauses: HOL disjunctions. |
705 (*Basis of all meson-tactics. Supplies cltac with clauses: HOL disjunctions. |
706 Function mkcl converts theorems to clauses.*) |
706 Function mkcl converts theorems to clauses.*) |
707 fun MESON preskolem_tac mkcl cltac ctxt i st = |
707 fun MESON preskolem_tac mkcl cltac ctxt i st = |
708 SELECT_GOAL |
708 SELECT_GOAL |
709 (EVERY [Object_Logic.atomize_prems_tac ctxt 1, |
709 (EVERY [Object_Logic.atomize_prems_tac ctxt 1, |
710 rtac ccontr 1, |
710 rtac @{thm ccontr} 1, |
711 preskolem_tac, |
711 preskolem_tac, |
712 Subgoal.FOCUS (fn {context = ctxt', prems = negs, ...} => |
712 Subgoal.FOCUS (fn {context = ctxt', prems = negs, ...} => |
713 EVERY1 [skolemize_prems_tac ctxt negs, |
713 EVERY1 [skolemize_prems_tac ctxt negs, |
714 Subgoal.FOCUS (cltac o mkcl o #prems) ctxt']) ctxt 1]) i st |
714 Subgoal.FOCUS (cltac o mkcl o #prems) ctxt']) ctxt 1]) i st |
715 handle THM _ => no_tac st; (*probably from make_meta_clause, not first-order*) |
715 handle THM _ => no_tac st; (*probably from make_meta_clause, not first-order*) |