SELECT_INTRO : (thm -> thm)
A |- P x -------------- SELECT_INTRO A |- P($@ P)The returned theorem asserts that $@ P denotes some value at which P holds.
th1 = |- (\n. m = n)mapplying SELECT_INTRO replaces the second occurrence of m with the epsilon abstraction of the operator:
- val th2 = SELECT_INTRO th1; val th2 = |- (\n. m = n)(@n. m = n) : thmThis theorem could now be used to derive a further result:
- EQ_MP (BETA_CONV(concl th2)) th2; val it = |- m = (@n. m = n) : thm