equal
deleted
inserted
replaced
149 |
149 |
150 (* insert facts *) |
150 (* insert facts *) |
151 |
151 |
152 local |
152 local |
153 |
153 |
154 fun cut_rule_tac raw_rule = |
154 fun cut_rule_tac rule = |
155 let |
155 Tactic.rtac (Drule.forall_intr_vars rule COMP_INCR revcut_rl); |
156 val rule = Drule.forall_intr_vars raw_rule; |
|
157 val revcut_rl = Drule.incr_indexes rule Drule.revcut_rl; |
|
158 in Tactic.rtac (rule COMP revcut_rl) end; |
|
159 |
156 |
160 in |
157 in |
161 |
158 |
162 fun insert_tac [] i = all_tac |
159 fun insert_tac [] i = all_tac |
163 | insert_tac facts i = EVERY (map (fn th => cut_rule_tac th i) facts); |
160 | insert_tac facts i = EVERY (map (fn th => cut_rule_tac th i) facts); |