src/HOL/TLA/Memory/MemoryImplementation.thy
changeset 60754 02924903a6fd
parent 60592 c9bd1d902f04
child 61941 31f2105521ee
equal deleted inserted replaced
60753:80ca4a065a48 60754:02924903a6fd
   225 *)
   225 *)
   226 ML \<open>
   226 ML \<open>
   227   val config_fast_solver = Attrib.setup_config_bool @{binding fast_solver} (K false);
   227   val config_fast_solver = Attrib.setup_config_bool @{binding fast_solver} (K false);
   228   val fast_solver = mk_solver "fast_solver" (fn ctxt =>
   228   val fast_solver = mk_solver "fast_solver" (fn ctxt =>
   229     if Config.get ctxt config_fast_solver
   229     if Config.get ctxt config_fast_solver
   230     then assume_tac ctxt ORELSE' (etac notE)
   230     then assume_tac ctxt ORELSE' (eresolve_tac ctxt [notE])
   231     else K no_tac);
   231     else K no_tac);
   232 \<close>
   232 \<close>
   233 
   233 
   234 setup \<open>map_theory_simpset (fn ctxt => ctxt addSSolver fast_solver)\<close>
   234 setup \<open>map_theory_simpset (fn ctxt => ctxt addSSolver fast_solver)\<close>
   235 
   235 
   795    steps of the implementation, and try to solve the idling case by simplification
   795    steps of the implementation, and try to solve the idling case by simplification
   796 *)
   796 *)
   797 ML \<open>
   797 ML \<open>
   798 fun split_idle_tac ctxt =
   798 fun split_idle_tac ctxt =
   799   SELECT_GOAL
   799   SELECT_GOAL
   800    (TRY (rtac @{thm actionI} 1) THEN
   800    (TRY (resolve_tac ctxt @{thms actionI} 1) THEN
   801     Induct_Tacs.case_tac ctxt "(s,t) \<Turnstile> unchanged (e p, c p, r p, m p, rmhist!p)" [] NONE 1 THEN
   801     Induct_Tacs.case_tac ctxt "(s,t) \<Turnstile> unchanged (e p, c p, r p, m p, rmhist!p)" [] NONE 1 THEN
   802     rewrite_goals_tac ctxt @{thms action_rews} THEN
   802     rewrite_goals_tac ctxt @{thms action_rews} THEN
   803     forward_tac ctxt [temp_use ctxt @{thm Step1_4_7}] 1 THEN
   803     forward_tac ctxt [temp_use ctxt @{thm Step1_4_7}] 1 THEN
   804     asm_full_simp_tac ctxt 1);
   804     asm_full_simp_tac ctxt 1);
   805 \<close>
   805 \<close>