28 val compose_inst_tac : (string*string)list -> (bool*thm*int) -> |
28 val compose_inst_tac : (string*string)list -> (bool*thm*int) -> |
29 int -> tactic |
29 int -> tactic |
30 val compose_tac : (bool * thm * int) -> int -> tactic |
30 val compose_tac : (bool * thm * int) -> int -> tactic |
31 val cut_facts_tac : thm list -> int -> tactic |
31 val cut_facts_tac : thm list -> int -> tactic |
32 val cut_inst_tac : (string*string)list -> thm -> int -> tactic |
32 val cut_inst_tac : (string*string)list -> thm -> int -> tactic |
|
33 val datac : thm -> int -> int -> tactic |
33 val defer_tac : int -> tactic |
34 val defer_tac : int -> tactic |
34 val distinct_subgoals_tac : tactic |
35 val distinct_subgoals_tac : tactic |
35 val dmatch_tac : thm list -> int -> tactic |
36 val dmatch_tac : thm list -> int -> tactic |
36 val dresolve_tac : thm list -> int -> tactic |
37 val dresolve_tac : thm list -> int -> tactic |
37 val dres_inst_tac : (string*string)list -> thm -> int -> tactic |
38 val dres_inst_tac : (string*string)list -> thm -> int -> tactic |
38 val dtac : thm -> int ->tactic |
39 val dtac : thm -> int ->tactic |
|
40 val eatac : thm -> int -> int -> tactic |
39 val etac : thm -> int ->tactic |
41 val etac : thm -> int ->tactic |
40 val eq_assume_tac : int -> tactic |
42 val eq_assume_tac : int -> tactic |
41 val ematch_tac : thm list -> int -> tactic |
43 val ematch_tac : thm list -> int -> tactic |
42 val eresolve_tac : thm list -> int -> tactic |
44 val eresolve_tac : thm list -> int -> tactic |
43 val eres_inst_tac : (string*string)list -> thm -> int -> tactic |
45 val eres_inst_tac : (string*string)list -> thm -> int -> tactic |
|
46 val fatac : thm -> int -> int -> tactic |
44 val filter_prems_tac : (term -> bool) -> int -> tactic |
47 val filter_prems_tac : (term -> bool) -> int -> tactic |
45 val filter_thms : (term*term->bool) -> int*term*thm list -> thm list |
48 val filter_thms : (term*term->bool) -> int*term*thm list -> thm list |
46 val filt_resolve_tac : thm list -> int -> int -> tactic |
49 val filt_resolve_tac : thm list -> int -> int -> tactic |
47 val flexflex_tac : tactic |
50 val flexflex_tac : tactic |
48 val fold_goals_tac : thm list -> tactic |
51 val fold_goals_tac : thm list -> tactic |
49 val fold_tac : thm list -> tactic |
52 val fold_tac : thm list -> tactic |
50 val forward_tac : thm list -> int -> tactic |
53 val forward_tac : thm list -> int -> tactic |
51 val forw_inst_tac : (string*string)list -> thm -> int -> tactic |
54 val forw_inst_tac : (string*string)list -> thm -> int -> tactic |
|
55 val ftac : thm -> int ->tactic |
52 val insert_tagged_brl : ('a*(bool*thm)) * |
56 val insert_tagged_brl : ('a*(bool*thm)) * |
53 (('a*(bool*thm))Net.net * ('a*(bool*thm))Net.net) -> |
57 (('a*(bool*thm))Net.net * ('a*(bool*thm))Net.net) -> |
54 ('a*(bool*thm))Net.net * ('a*(bool*thm))Net.net |
58 ('a*(bool*thm))Net.net * ('a*(bool*thm))Net.net |
55 val delete_tagged_brl : (bool*thm) * |
59 val delete_tagged_brl : (bool*thm) * |
56 ((int*(bool*thm))Net.net * (int*(bool*thm))Net.net) -> |
60 ((int*(bool*thm))Net.net * (int*(bool*thm))Net.net) -> |
154 |
158 |
155 (*Like forward_tac, but deletes the assumption after use.*) |
159 (*Like forward_tac, but deletes the assumption after use.*) |
156 fun dresolve_tac rls = eresolve_tac (map make_elim rls); |
160 fun dresolve_tac rls = eresolve_tac (map make_elim rls); |
157 |
161 |
158 (*Shorthand versions: for resolution with a single theorem*) |
162 (*Shorthand versions: for resolution with a single theorem*) |
159 fun rtac rl = resolve_tac [rl]; |
163 val atac = assume_tac; |
|
164 fun rtac rl = resolve_tac [rl]; |
|
165 fun dtac rl = dresolve_tac [rl]; |
160 fun etac rl = eresolve_tac [rl]; |
166 fun etac rl = eresolve_tac [rl]; |
161 fun dtac rl = dresolve_tac [rl]; |
167 fun ftac rl = forward_tac [rl]; |
162 val atac = assume_tac; |
168 fun datac thm j = EVERY' (dtac thm::replicate j atac); |
|
169 fun eatac thm j = EVERY' (etac thm::replicate j atac); |
|
170 fun fatac thm j = EVERY' (ftac thm::replicate j atac); |
163 |
171 |
164 (*Use an assumption or some rules ... A popular combination!*) |
172 (*Use an assumption or some rules ... A popular combination!*) |
165 fun ares_tac rules = assume_tac ORELSE' resolve_tac rules; |
173 fun ares_tac rules = assume_tac ORELSE' resolve_tac rules; |
166 |
174 |
167 fun solve_tac rules = resolve_tac rules THEN_ALL_NEW assume_tac; |
175 fun solve_tac rules = resolve_tac rules THEN_ALL_NEW assume_tac; |