X_CHOOSE_THEN : (term -> thm_tactical)
    A ?- t
   =========  f ({w[y/x]} |- w[y/x])
    A ?- t1
    A ?- t
   =========  X_CHOOSE_THEN y f (A1 |- ?x. w)
    A ?- t1         (y not free anywhere)
   {n < m} ?- ?x. m = n + (x + 1)
th = [n < m] |- ?p. m = n + p
   {n < m} ?- ?x. n + q = n + (x + 1)