src/HOL/Tools/Meson/meson.ML
changeset 55990 41c6b99c5fb7
parent 54742 7a86358a3c0b
child 56245 84fc7dfa3cd4
equal deleted inserted replaced
55989:55827fc7c0dd 55990:41c6b99c5fb7
   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*)