src/HOL/Tools/Metis/metis_tactics.ML
changeset 43964 9338aa218f09
parent 43963 78c723cc3d99
child 43989 eb763b3ff9ed
equal deleted inserted replaced
43963:78c723cc3d99 43964:9338aa218f09
   187            (verbose_warning ctxt
   187            (verbose_warning ctxt
   188                 ("Falling back on " ^
   188                 ("Falling back on " ^
   189                  quote (method_call_for_type_enc fallback_type_syss) ^ "...");
   189                  quote (method_call_for_type_enc fallback_type_syss) ^ "...");
   190             FOL_SOLVE fallback_type_syss ctxt cls ths0)
   190             FOL_SOLVE fallback_type_syss ctxt cls ths0)
   191 
   191 
   192 val neg_clausify =
   192 fun neg_clausify ctxt =
   193   single
   193   single
   194   #> Meson.make_clauses_unsorted
   194   #> Meson.make_clauses_unsorted ctxt
   195   #> map Meson_Clausify.introduce_combinators_in_theorem
   195   #> map Meson_Clausify.introduce_combinators_in_theorem
   196   #> Meson.finish_cnf
   196   #> Meson.finish_cnf
   197 
   197 
   198 fun preskolem_tac ctxt st0 =
   198 fun preskolem_tac ctxt st0 =
   199   (if exists (Meson.has_too_many_clauses ctxt)
   199   (if exists (Meson.has_too_many_clauses ctxt)
   215   in
   215   in
   216     if exists_type type_has_top_sort (prop_of st0) then
   216     if exists_type type_has_top_sort (prop_of st0) then
   217       verbose_warning ctxt "Proof state contains the universal sort {}"
   217       verbose_warning ctxt "Proof state contains the universal sort {}"
   218     else
   218     else
   219       ();
   219       ();
   220     Meson.MESON (preskolem_tac ctxt) (maps neg_clausify) tac ctxt i st0
   220     Meson.MESON (preskolem_tac ctxt) (maps (neg_clausify ctxt)) tac ctxt i st0
   221   end
   221   end
   222 
   222 
   223 fun metis_tac [] = generic_metis_tac partial_type_syss
   223 fun metis_tac [] = generic_metis_tac partial_type_syss
   224   | metis_tac type_syss = generic_metis_tac type_syss
   224   | metis_tac type_syss = generic_metis_tac type_syss
   225 
   225