src/Pure/Tools/find_theorems.ML
changeset 54742 7a86358a3c0b
parent 53633 69f1221fc892
child 55669 4612c450b59c
equal deleted inserted replaced
54741:010eefa0a4f3 54742:7a86358a3c0b
   235 
   235 
   236     fun limited_etac thm i =
   236     fun limited_etac thm i =
   237       Seq.take (Options.default_int @{option find_theorems_tac_limit}) o etac thm i;
   237       Seq.take (Options.default_int @{option find_theorems_tac_limit}) o etac thm i;
   238     fun try_thm thm =
   238     fun try_thm thm =
   239       if Thm.no_prems thm then rtac thm 1 goal'
   239       if Thm.no_prems thm then rtac thm 1 goal'
   240       else (limited_etac thm THEN_ALL_NEW (Goal.norm_hhf_tac THEN' Method.assm_tac ctxt')) 1 goal';
   240       else
       
   241         (limited_etac thm THEN_ALL_NEW (Goal.norm_hhf_tac ctxt' THEN' Method.assm_tac ctxt'))
       
   242           1 goal';
   241   in
   243   in
   242     fn Internal (_, thm) =>
   244     fn Internal (_, thm) =>
   243         if is_some (Seq.pull (try_thm thm))
   245         if is_some (Seq.pull (try_thm thm))
   244         then SOME (size_of_term (Thm.prop_of thm), Thm.nprems_of thm, 0) else NONE
   246         then SOME (size_of_term (Thm.prop_of thm), Thm.nprems_of thm, 0) else NONE
   245      | External _ => NONE
   247      | External _ => NONE