Definable choice

A theory $$T$$ is said to have definable choice (or strong definable choice) if the following condition holds: for every formula $$\phi(x;y)$$, there is a definable (partial) function $$f(y)$$ such that if $$M \models T$$ and $$b \in M$$ and $$\phi(M;b)$$ is non-empty, then $$f(b) \in \phi(M;b)$$, and moreover, $$f(b)$$ depends only on $$\phi(M;b)$$, i.e., if $$\phi(M;b) = \phi(M;b')$$, then $$f(b) = f(b')$$.

An equivalent condition is that every non-empty definable set $$C$$ contains a member definable over the code $$\ulcorner C \urcorner$$.

Definable choice is a stronger condition than the existence of definable skolem functions. Definable choice implies elimination of imaginaries: given an equivalence relation $$E$$, definable choice yields a canonical representative of each equivalence class. Given elimination of imaginaries, definable choice is equivalent to definable skolem functions: in the definition of definable choice, one can replace $$b$$ with a code for $$\phi(M;b)$$. In general, definable choice is equivalent to definable skolem functions in $$T^{eq}$$.

To prove definable choice in a theory $$T$$, it suffices to prove definable choice in subsets of (the first power of) the home sort. This can be used to show, for example, that any o-minimal expansion of RCF has definable choice (hence eliminates imaginaries).