SUBGOAL_THEN : term -> thm_tactic -> tactic
A1 ?- t1 ========== f (u |- u) A2 ?- t2then
A1 ?- t1 ==================== SUBGOAL_THEN "u" f A1 ?- u A2 ?- t2
{n = SUC m} ?- (0 = n) ==> tUsing SUBGOAL_THEN to focus on the case in which ~(n = 0), rewriting establishes it truth, leaving only the proof that ~(n = 0). That is,
SUBGOAL_THEN (Term `~(0 = n)`) (fn th => REWRITE_TAC [th])generates the following subgoals:
{n = SUC m} ?- ~(0 = n) ?- T