src/HOL/Tools/Sledgehammer/sledgehammer_preplay.ML
changeset 52633 21774f0b7bc0
parent 52629 d6f2a7c196f7
child 52692 9306c309b892
equal deleted inserted replaced
52632:23393c31c7fe 52633:21774f0b7bc0
   113     Logic.list_implies (assms |> map snd, concl)
   113     Logic.list_implies (assms |> map snd, concl)
   114       |> subst_free substitutions
   114       |> subst_free substitutions
   115       |> thm_of_term ctxt
   115       |> thm_of_term ctxt
   116   end
   116   end
   117 
   117 
   118 (* mapping of proof methods to tactics *)
   118 (* mapping from proof methods to tactics *)
   119 fun tac_of_method method type_enc lam_trans ctxt facts =
   119 fun tac_of_method method type_enc lam_trans ctxt facts =
   120   case method of
   120   case method of
   121     MetisM => Metis_Tactic.metis_tac [type_enc] lam_trans ctxt facts
   121     MetisM => Metis_Tactic.metis_tac [type_enc] lam_trans ctxt facts
   122   | _ =>
   122   | _ =>
   123       Method.insert_tac facts
   123       Method.insert_tac facts
   124       THEN' (case method of
   124       THEN' (case method of
   125               SimpM => Simplifier.asm_full_simp_tac
   125               SimpM => Simplifier.asm_full_simp_tac
   126             | AutoM => (fn ctxt => K (Clasimp.auto_tac ctxt))
   126             | AutoM => Clasimp.auto_tac #> K
   127             | FastforceM => Clasimp.fast_force_tac
   127             | FastforceM => Clasimp.fast_force_tac
   128             | ForceM => Clasimp.force_tac
   128             | ForceM => Clasimp.force_tac
   129             | ArithM => Arith_Data.arith_tac
   129             | ArithM => Arith_Data.arith_tac
   130             | BlastM => blast_tac
   130             | BlastM => blast_tac
   131             | _ => raise Fail "Sledgehammer_Preplay: tac_of_method") ctxt
   131             | _ => raise Fail "Sledgehammer_Preplay: tac_of_method") ctxt