X_CHOOSE_THEN : (term -> thm_tactical)
A ?- t
========= f ({w[y/x]} |- w[y/x])
A ?- t1
then applying (X_CHOOSE_THEN "y" f (A1 |- ?x. w)) to the
goal (A ?- t) produces the subgoal:
A ?- t
========= X_CHOOSE_THEN y f (A1 |- ?x. w)
A ?- t1 (y not free anywhere)
{n < m} ?- ?x. m = n + (x + 1)
the following theorem may be applied:
th = [n < m] |- ?p. m = n + pby the tactic (X_CHOOSE_THEN (Term`q:num`) SUBST1_TAC th) giving the subgoal:
{n < m} ?- ?x. n + q = n + (x + 1)