equal
deleted
inserted
replaced
266 (* Note: This should not be a separate tactic but integrated into the |
266 (* Note: This should not be a separate tactic but integrated into the |
267 case split done during recdef's case analysis, this would avoid us |
267 case split done during recdef's case analysis, this would avoid us |
268 having to (re)search for variables to split. *) |
268 having to (re)search for variables to split. *) |
269 fun splitto splitths genth = |
269 fun splitto splitths genth = |
270 let |
270 let |
271 val _ = assert (not (null splitths)) "splitto: no given splitths"; |
271 val _ = not (null splitths) orelse error "splitto: no given splitths"; |
272 val sgn = Thm.sign_of_thm genth; |
272 val sgn = Thm.sign_of_thm genth; |
273 |
273 |
274 (* check if we are a member of splitths - FIXME: quicker and |
274 (* check if we are a member of splitths - FIXME: quicker and |
275 more flexible with discrim net. *) |
275 more flexible with discrim net. *) |
276 fun solve_by_splitth th split = |
276 fun solve_by_splitth th split = |