equal
deleted
inserted
replaced
2 ID: $Id$ |
2 ID: $Id$ |
3 Author: Markus Wenzel, TU Muenchen |
3 Author: Markus Wenzel, TU Muenchen |
4 |
4 |
5 Skipping proofs -- quick_and_dirty mode. |
5 Skipping proofs -- quick_and_dirty mode. |
6 *) |
6 *) |
|
7 |
|
8 val future_scheduler = ref false; |
7 |
9 |
8 signature SKIP_PROOF = |
10 signature SKIP_PROOF = |
9 sig |
11 sig |
10 val make_thm: theory -> term -> thm |
12 val make_thm: theory -> term -> thm |
11 val cheat_tac: theory -> tactic |
13 val cheat_tac: theory -> tactic |
32 |
34 |
33 fun cheat_tac thy st = |
35 fun cheat_tac thy st = |
34 ALLGOALS (Tactic.rtac (make_thm thy (Var (("A", 0), propT)))) st; |
36 ALLGOALS (Tactic.rtac (make_thm thy (Var (("A", 0), propT)))) st; |
35 |
37 |
36 fun prove ctxt xs asms prop tac = |
38 fun prove ctxt xs asms prop tac = |
37 Goal.prove ctxt xs asms prop (fn args => fn st => |
39 (if ! future_scheduler then Goal.prove_promise else Goal.prove) ctxt xs asms prop |
38 if ! quick_and_dirty |
40 (fn args => fn st => |
39 then setmp quick_and_dirty true (cheat_tac (ProofContext.theory_of ctxt)) st |
41 if ! quick_and_dirty |
40 else tac args st); |
42 then setmp quick_and_dirty true (cheat_tac (ProofContext.theory_of ctxt)) st |
|
43 else tac args st); |
41 |
44 |
42 fun prove_global thy xs asms prop tac = |
45 fun prove_global thy xs asms prop tac = |
43 Drule.standard (prove (ProofContext.init thy) xs asms prop tac); |
46 Drule.standard (prove (ProofContext.init thy) xs asms prop tac); |
44 |
47 |
45 end; |
48 end; |