equal
deleted
inserted
replaced
43 val Auto_tac : tactic |
43 val Auto_tac : tactic |
44 val auto : unit -> unit |
44 val auto : unit -> unit |
45 val force_tac : clasimpset -> int -> tactic |
45 val force_tac : clasimpset -> int -> tactic |
46 val Force_tac : int -> tactic |
46 val Force_tac : int -> tactic |
47 val force : int -> unit |
47 val force : int -> unit |
|
48 val change_global_css: (clasimpset * thm list -> clasimpset) -> theory attribute |
|
49 val change_local_css: (clasimpset * thm list -> clasimpset) -> Proof.context attribute |
48 val setup : (theory -> theory) list |
50 val setup : (theory -> theory) list |
49 end; |
51 end; |
50 |
52 |
51 functor ClasimpFun(Data: CLASIMP_DATA): CLASIMP = |
53 functor ClasimpFun(Data: CLASIMP_DATA): CLASIMP = |
52 struct |
54 struct |
146 ALLGOALS (Classical.best_tac cs')]) end; |
148 ALLGOALS (Classical.best_tac cs')]) end; |
147 fun Force_tac i = force_tac (Classical.claset(), Simplifier.simpset()) i; |
149 fun Force_tac i = force_tac (Classical.claset(), Simplifier.simpset()) i; |
148 fun force i = by (Force_tac i); |
150 fun force i = by (Force_tac i); |
149 |
151 |
150 |
152 |
|
153 (* attributes *) |
|
154 |
|
155 fun change_global_css f (thy, th) = |
|
156 let |
|
157 val cs_ref = Classical.claset_ref_of thy; |
|
158 val ss_ref = Simplifier.simpset_ref_of thy; |
|
159 val (cs', ss') = f ((! cs_ref, ! ss_ref), [th]); |
|
160 in cs_ref := cs'; ss_ref := ss'; (thy, th) end; |
|
161 |
|
162 fun change_local_css f (ctxt, th) = |
|
163 let |
|
164 val cs = Classical.get_local_claset ctxt; |
|
165 val ss = Simplifier.get_local_simpset ctxt; |
|
166 val (cs', ss') = f ((cs, ss), [th]); |
|
167 val ctxt' = |
|
168 ctxt |
|
169 |> Classical.put_local_claset cs' |
|
170 |> Simplifier.put_local_simpset ss'; |
|
171 in (ctxt', th) end; |
|
172 |
|
173 |
151 (* methods *) |
174 (* methods *) |
152 |
175 |
153 fun get_local_clasimpset ctxt = |
176 fun get_local_clasimpset ctxt = |
154 (Classical.get_local_claset ctxt, Simplifier.get_local_simpset ctxt); |
177 (Classical.get_local_claset ctxt, Simplifier.get_local_simpset ctxt); |
155 |
178 |