Particularly useful in conjunction with CONV_TAC for proving properties
of values denoted by epsilon terms. For example, suppose that one wishes
to prove the goal
([0 < m], (@n. n < m) < SUC m)
Using the built-in arithmetic theorem
LESS_SUC |- !m n. m < n ==> m < (SUC n)
this goal may be reduced by the tactic MATCH_MP_TAC LESS_SUC to
the subgoal
([0 < m], (@n. n < m) < m)
This is now in the correct form for using CONV_TAC SELECT_CONV to
eliminate the epsilon term, resulting in the existentially quantified goal
which is then straightforward to prove.