equal
deleted
inserted
replaced
186 val ctxt' = Proof_Context.transfer thy' ctxt; |
186 val ctxt' = Proof_Context.transfer thy' ctxt; |
187 val goal' = Thm.transfer thy' goal; |
187 val goal' = Thm.transfer thy' goal; |
188 |
188 |
189 fun limited_etac thm i = |
189 fun limited_etac thm i = |
190 Seq.take (Options.default_int @{system_option find_theorems_tactic_limit}) o |
190 Seq.take (Options.default_int @{system_option find_theorems_tactic_limit}) o |
191 eresolve_tac [thm] i; |
191 eresolve_tac ctxt' [thm] i; |
192 fun try_thm thm = |
192 fun try_thm thm = |
193 if Thm.no_prems thm then resolve_tac [thm] 1 goal' |
193 if Thm.no_prems thm then resolve_tac ctxt' [thm] 1 goal' |
194 else |
194 else |
195 (limited_etac thm THEN_ALL_NEW (Goal.norm_hhf_tac ctxt' THEN' Method.assm_tac ctxt')) |
195 (limited_etac thm THEN_ALL_NEW (Goal.norm_hhf_tac ctxt' THEN' Method.assm_tac ctxt')) |
196 1 goal'; |
196 1 goal'; |
197 in |
197 in |
198 fn (_, thm) => |
198 fn (_, thm) => |