src/HOL/Mirabelle/Tools/mirabelle.ML
changeset 61841 4d3527b94f2a
parent 60361 88505460fde7
child 62505 9e2a65912111
equal deleted inserted replaced
61840:a3793600cb93 61841:4d3527b94f2a
   152 (* Mirabelle utility functions *)
   152 (* Mirabelle utility functions *)
   153 
   153 
   154 fun can_apply time tac st =
   154 fun can_apply time tac st =
   155   let
   155   let
   156     val {context = ctxt, facts, goal} = Proof.goal st
   156     val {context = ctxt, facts, goal} = Proof.goal st
   157     val full_tac = HEADGOAL (Method.insert_tac facts THEN' tac ctxt)
   157     val full_tac = HEADGOAL (Method.insert_tac ctxt facts THEN' tac ctxt)
   158   in
   158   in
   159     (case try (TimeLimit.timeLimit time (Seq.pull o full_tac)) goal of
   159     (case try (TimeLimit.timeLimit time (Seq.pull o full_tac)) goal of
   160       SOME (SOME _) => true
   160       SOME (SOME _) => true
   161     | _ => false)
   161     | _ => false)
   162   end
   162   end