equal
deleted
inserted
replaced
4 Goals in tactical theorem proving. |
4 Goals in tactical theorem proving. |
5 *) |
5 *) |
6 |
6 |
7 signature BASIC_GOAL = |
7 signature BASIC_GOAL = |
8 sig |
8 sig |
9 val parallel_proofs: bool ref |
9 val parallel_proofs: int ref |
10 val SELECT_GOAL: tactic -> int -> tactic |
10 val SELECT_GOAL: tactic -> int -> tactic |
11 val CONJUNCTS: tactic -> int -> tactic |
11 val CONJUNCTS: tactic -> int -> tactic |
12 val PRECISE_CONJUNCTS: int -> tactic -> int -> tactic |
12 val PRECISE_CONJUNCTS: int -> tactic -> int -> tactic |
13 end; |
13 end; |
14 |
14 |
19 val protect: thm -> thm |
19 val protect: thm -> thm |
20 val conclude: thm -> thm |
20 val conclude: thm -> thm |
21 val finish: thm -> thm |
21 val finish: thm -> thm |
22 val norm_result: thm -> thm |
22 val norm_result: thm -> thm |
23 val future_enabled: unit -> bool |
23 val future_enabled: unit -> bool |
|
24 val local_future_enabled: unit -> bool |
24 val future_result: Proof.context -> thm future -> term -> thm |
25 val future_result: Proof.context -> thm future -> term -> thm |
25 val prove_internal: cterm list -> cterm -> (thm list -> tactic) -> thm |
26 val prove_internal: cterm list -> cterm -> (thm list -> tactic) -> thm |
26 val prove_multi: Proof.context -> string list -> term list -> term list -> |
27 val prove_multi: Proof.context -> string list -> term list -> term list -> |
27 ({prems: thm list, context: Proof.context} -> tactic) -> thm list |
28 ({prems: thm list, context: Proof.context} -> tactic) -> thm list |
28 val prove_future: Proof.context -> string list -> term list -> term -> |
29 val prove_future: Proof.context -> string list -> term list -> term -> |
93 #> Drule.zero_var_indexes; |
94 #> Drule.zero_var_indexes; |
94 |
95 |
95 |
96 |
96 (* future_enabled *) |
97 (* future_enabled *) |
97 |
98 |
98 val parallel_proofs = ref true; |
99 val parallel_proofs = ref 1; |
99 |
100 |
100 fun future_enabled () = |
101 fun future_enabled () = |
101 Future.enabled () andalso ! parallel_proofs andalso Future.is_worker (); |
102 Future.enabled () andalso Future.is_worker () andalso ! parallel_proofs >= 1; |
|
103 |
|
104 fun local_future_enabled () = future_enabled () andalso ! parallel_proofs >= 2; |
102 |
105 |
103 |
106 |
104 (* future_result *) |
107 (* future_result *) |
105 |
108 |
106 fun future_result ctxt result prop = |
109 fun future_result ctxt result prop = |