equal
deleted
inserted
replaced
39 val addSIs: claset * thm list -> claset |
39 val addSIs: claset * thm list -> claset |
40 val print_cs: claset -> unit |
40 val print_cs: claset -> unit |
41 val rep_claset: claset -> |
41 val rep_claset: claset -> |
42 {safeIs: thm list, safeEs: thm list, hazIs: thm list, hazEs: thm list} |
42 {safeIs: thm list, safeEs: thm list, hazIs: thm list, hazEs: thm list} |
43 val best_tac : claset -> int -> tactic |
43 val best_tac : claset -> int -> tactic |
44 val chain_tac : int -> tactic |
|
45 val contr_tac : int -> tactic |
44 val contr_tac : int -> tactic |
46 val eq_mp_tac: int -> tactic |
45 val eq_mp_tac: int -> tactic |
47 val fast_tac : claset -> int -> tactic |
46 val fast_tac : claset -> int -> tactic |
48 val joinrules : thm list * thm list -> (bool * thm) list |
47 val joinrules : thm list * thm list -> (bool * thm) list |
49 val mp_tac: int -> tactic |
48 val mp_tac: int -> tactic |
87 in assume_tac ORELSE' |
86 in assume_tac ORELSE' |
88 contr_tac ORELSE' |
87 contr_tac ORELSE' |
89 biresolve_tac (foldr addrl (rls,[])) |
88 biresolve_tac (foldr addrl (rls,[])) |
90 end; |
89 end; |
91 |
90 |
92 (*Given assumption P-->Q, reduces subgoal Q to P [deletes the implication!] *) |
|
93 fun chain_tac i = |
|
94 eresolve_tac [imp_elim] i THEN |
|
95 (assume_tac (i+1) ORELSE contr_tac (i+1)); |
|
96 |
91 |
97 (*** Classical rule sets ***) |
92 (*** Classical rule sets ***) |
98 |
93 |
99 type netpair = (int*(bool*thm)) Net.net * (int*(bool*thm)) Net.net; |
94 type netpair = (int*(bool*thm)) Net.net * (int*(bool*thm)) Net.net; |
100 |
95 |