# HG changeset patch # User blanchet # Date 1284995572 -7200 # Node ID be44a81ca5abe022c88c4dfbf64b819971639923 # Parent e7d4923b9b1c9f47558eb3e25d34d4bde6c5a363# Parent 3857a4a81fa7811323199d71ac107ea8636b1598 merged diff -r e7d4923b9b1c -r be44a81ca5ab src/HOL/Tools/Sledgehammer/clausifier.ML --- a/src/HOL/Tools/Sledgehammer/clausifier.ML Mon Sep 20 14:50:45 2010 +0200 +++ b/src/HOL/Tools/Sledgehammer/clausifier.ML Mon Sep 20 17:12:52 2010 +0200 @@ -34,9 +34,6 @@ Thm.instantiate ([], [(cterm_of @{theory HOL} v, ctp_false)]) th | _ => th -(*To enforce single-threading*) -exception Clausify_failure of theory; - (**** SKOLEMIZATION BY INFERENCE (lcp) ****) diff -r e7d4923b9b1c -r be44a81ca5ab src/HOL/Tools/Sledgehammer/metis_tactics.ML --- a/src/HOL/Tools/Sledgehammer/metis_tactics.ML Mon Sep 20 14:50:45 2010 +0200 +++ b/src/HOL/Tools/Sledgehammer/metis_tactics.ML Mon Sep 20 17:12:52 2010 +0200 @@ -138,7 +138,8 @@ val type_has_top_sort = exists_subtype (fn TFree (_, []) => true | TVar (_, []) => true | _ => false) -val preproc_ss = HOL_basic_ss addsimps @{thms all_simps [symmetric]} +val preproc_ss = + HOL_basic_ss addsimps @{thms all_simps[symmetric] ex_simps[symmetric]} fun generic_metis_tac mode ctxt ths i st0 = let @@ -149,13 +150,12 @@ (warning ("Metis: Proof state contains the universal sort {}"); Seq.empty) else Tactical.SOLVED' - ((TRY o Simplifier.simp_tac preproc_ss) - THEN' - (REPEAT_DETERM o match_tac @{thms allI}) - THEN' - TRY o Meson.MESON (preskolem_tac ctxt) (maps neg_clausify) - (fn cls => resolve_tac (FOL_SOLVE mode ctxt cls ths) 1) - ctxt) i st0 + ((TRY o Simplifier.full_simp_tac preproc_ss) + THEN' (REPEAT_DETERM o match_tac @{thms allI}) + THEN' (REPEAT_DETERM o ematch_tac @{thms exE}) + THEN' (TRY o Meson.MESON (preskolem_tac ctxt) (maps neg_clausify) + (fn cls => resolve_tac (FOL_SOLVE mode ctxt cls ths) 1) + ctxt)) i st0 end val metis_tac = generic_metis_tac HO