equal
deleted
inserted
replaced
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 |