I have the following code:
$$\begin{aligned}
\cal A \models (\exists x \psi)_{\bar s/\bar x}[\alpha] & \usett{\iff}{def. of \\ substitution}
\end{aligned}$$
where \usett (abbreviation of 'underset' with the last 't' standing for 'text')
\newcommand{\usett}[2]{\mathop{#1}\limits_{\mathclap{\substack{\text{#2}}}}}
The above code does not work (in particular there is \\ inside \text), but the following code does:
$$\begin{aligned}
\cal A \models (\exists x \psi)_{\bar s/\bar x}[\alpha] & \mathop{\iff}\limits_{\mathclap{\substack{\text{def. of}\\ \text{substitution}}}}
\end{aligned}$$
If I could get \text{...} to "distribute" over a string separated by \\, this would fix the issue. Is this possible? If not, is there another solution?
P.S. is it possible to write \underset to have the same multiple line capabilities as \substack? I wrote this monstrosity:
% uset multiple lines, like substack, hence the plural 's' ending
\newcommand{\usets}[2]{\mathop{#1}\limits_{\mathclap{\substack{#2}}}}
which does seem to work, but of course I'd be very happy to see alternative solutions.