src/Provers/clasimp.ML
changeset 69593 3dda49e08b9d
parent 64556 851ae0e7b09c
equal deleted inserted replaced
69592:a80d8ec6c998 69593:3dda49e08b9d
   178 
   178 
   179 (* attributes *)
   179 (* attributes *)
   180 
   180 
   181 val _ =
   181 val _ =
   182   Theory.setup
   182   Theory.setup
   183     (Attrib.setup @{binding iff}
   183     (Attrib.setup \<^binding>\<open>iff\<close>
   184       (Scan.lift
   184       (Scan.lift
   185         (Args.del >> K iff_del ||
   185         (Args.del >> K iff_del ||
   186           Scan.option Args.add -- Args.query >> K iff_add' ||
   186           Scan.option Args.add -- Args.query >> K iff_add' ||
   187           Scan.option Args.add >> K iff_add))
   187           Scan.option Args.add >> K iff_add))
   188       "declaration of Simplifier / Classical rules");
   188       "declaration of Simplifier / Classical rules");
   213   (fn NONE => SIMPLE_METHOD o CHANGED_PROP o auto_tac
   213   (fn NONE => SIMPLE_METHOD o CHANGED_PROP o auto_tac
   214     | SOME (m, n) => (fn ctxt => SIMPLE_METHOD (CHANGED_PROP (mk_auto_tac ctxt m n))));
   214     | SOME (m, n) => (fn ctxt => SIMPLE_METHOD (CHANGED_PROP (mk_auto_tac ctxt m n))));
   215 
   215 
   216 val _ =
   216 val _ =
   217   Theory.setup
   217   Theory.setup
   218    (Method.setup @{binding fastforce} (clasimp_method' fast_force_tac) "combined fast and simp" #>
   218    (Method.setup \<^binding>\<open>fastforce\<close> (clasimp_method' fast_force_tac) "combined fast and simp" #>
   219     Method.setup @{binding slowsimp} (clasimp_method' slow_simp_tac) "combined slow and simp" #>
   219     Method.setup \<^binding>\<open>slowsimp\<close> (clasimp_method' slow_simp_tac) "combined slow and simp" #>
   220     Method.setup @{binding bestsimp} (clasimp_method' best_simp_tac) "combined best and simp" #>
   220     Method.setup \<^binding>\<open>bestsimp\<close> (clasimp_method' best_simp_tac) "combined best and simp" #>
   221     Method.setup @{binding force} (clasimp_method' force_tac) "force" #>
   221     Method.setup \<^binding>\<open>force\<close> (clasimp_method' force_tac) "force" #>
   222     Method.setup @{binding auto} auto_method "auto" #>
   222     Method.setup \<^binding>\<open>auto\<close> auto_method "auto" #>
   223     Method.setup @{binding clarsimp} (clasimp_method' (CHANGED_PROP oo clarsimp_tac))
   223     Method.setup \<^binding>\<open>clarsimp\<close> (clasimp_method' (CHANGED_PROP oo clarsimp_tac))
   224       "clarify simplified goal");
   224       "clarify simplified goal");
   225 
   225 
   226 end;
   226 end;