equal
deleted
inserted
replaced
26 val addss : claset * simpset -> claset |
26 val addss : claset * simpset -> claset |
27 val mk_auto_tac:clasimpset -> int -> int -> tactic |
27 val mk_auto_tac:clasimpset -> int -> int -> tactic |
28 val auto_tac : clasimpset -> tactic |
28 val auto_tac : clasimpset -> tactic |
29 val Auto_tac : tactic |
29 val Auto_tac : tactic |
30 val auto : unit -> unit |
30 val auto : unit -> unit |
31 val smart_tac : clasimpset -> int -> tactic |
31 val force_tac : clasimpset -> int -> tactic |
32 val Smart_tac : int -> tactic |
32 val Force_tac : int -> tactic |
33 val smart : int -> unit |
33 val force : int -> unit |
34 end; |
34 end; |
35 |
35 |
36 structure Clasimp: CLASIMP = |
36 structure Clasimp: CLASIMP = |
37 struct |
37 struct |
38 |
38 |
112 fun Auto_tac st = auto_tac (claset(), simpset()) st; |
112 fun Auto_tac st = auto_tac (claset(), simpset()) st; |
113 |
113 |
114 fun auto () = by Auto_tac; |
114 fun auto () = by Auto_tac; |
115 |
115 |
116 (* aimed to solve the given subgoal totally, using whatever tools possible *) |
116 (* aimed to solve the given subgoal totally, using whatever tools possible *) |
117 fun smart_tac (cs,ss) = let val cs' = cs addss ss in SELECT_GOAL (EVERY [ |
117 fun force_tac (cs,ss) = let val cs' = cs addss ss in SELECT_GOAL (EVERY [ |
118 clarify_tac cs' 1, |
118 clarify_tac cs' 1, |
119 IF_UNSOLVED (asm_full_simp_tac ss 1), |
119 IF_UNSOLVED (asm_full_simp_tac ss 1), |
120 IF_UNSOLVED (fast_tac cs' 1)]) end; |
120 ALLGOALS (fast_tac cs')]) end; |
121 fun Smart_tac i = smart_tac (claset(), simpset()) i; |
121 fun Force_tac i = force_tac (claset(), simpset()) i; |
122 fun smart i = by (Smart_tac i); |
122 fun force i = by (Force_tac i); |
123 |
123 |
124 end; |
124 end; |