equal
deleted
inserted
replaced
44 val rep_claset: claset -> |
44 val rep_claset: claset -> |
45 {safeIs: thm list, safeEs: thm list, hazIs: thm list, hazEs: thm list, |
45 {safeIs: thm list, safeEs: thm list, hazIs: thm list, hazEs: thm list, |
46 safe0_brls:(bool*thm)list, safep_brls: (bool*thm)list, |
46 safe0_brls:(bool*thm)list, safep_brls: (bool*thm)list, |
47 haz_brls: (bool*thm)list} |
47 haz_brls: (bool*thm)list} |
48 val best_tac : claset -> int -> tactic |
48 val best_tac : claset -> int -> tactic |
49 val chain_tac : int -> tactic |
|
50 val contr_tac : int -> tactic |
49 val contr_tac : int -> tactic |
51 val fast_tac : claset -> int -> tactic |
50 val fast_tac : claset -> int -> tactic |
52 val inst_step_tac : int -> tactic |
51 val inst_step_tac : int -> tactic |
53 val joinrules : thm list * thm list -> (bool * thm) list |
52 val joinrules : thm list * thm list -> (bool * thm) list |
54 val mp_tac: int -> tactic |
53 val mp_tac: int -> tactic |
88 fun swap_res_tac rls = |
87 fun swap_res_tac rls = |
89 let fun tacf rl = rtac rl ORELSE' etac (rl RSN (2,swap)) |
88 let fun tacf rl = rtac rl ORELSE' etac (rl RSN (2,swap)) |
90 in assume_tac ORELSE' contr_tac ORELSE' FIRST' (map tacf rls) |
89 in assume_tac ORELSE' contr_tac ORELSE' FIRST' (map tacf rls) |
91 end; |
90 end; |
92 |
91 |
93 (*Given assumption P-->Q, reduces subgoal Q to P [deletes the implication!] *) |
|
94 fun chain_tac i = |
|
95 eresolve_tac [imp_elim] i THEN |
|
96 (assume_tac (i+1) ORELSE contr_tac (i+1)); |
|
97 |
92 |
98 (*** Classical rule sets ***) |
93 (*** Classical rule sets ***) |
99 |
94 |
100 datatype claset = |
95 datatype claset = |
101 CS of {safeIs: thm list, |
96 CS of {safeIs: thm list, |