I have searched and found a solution to a problem I had here: Horizontal alignment, but now I have a follow-up question (and can't comment there because I have little reputation):
The code in the answer is
\usepackage{amsmath}
BEFORE
\begin{equation*}
\renewcommand\arraystretch{1.5} % mimic wider spacing of align environment
\begin{array}{@{} r@{}c@{}l @{}}
V & \overset{\textnormal{def}}{=} & R(\delta) \\
& \overset{ \{ 1.2.3 \} }{=} & \delta(a) R(a)
\end{array}
\end{equation*}
and this looks nice. However, when I remove all the @{} things, it looks different:
AFTER
\begin{equation*}
\renewcommand\arraystretch{1.5}
\begin{array}{rcl}
V & \overset{\textnormal{def}}{=} & R(\delta) \\
& \overset{ \{ 1.2.3 \} }{=} & \delta(a) R(a)
\end{array}
\end{equation*}
What do the @{} mean? Can you explain to me where the difference lies? I thought, only \begin{array}{rcl} would suffice to get the exact same output.
Picture:

@{...}you tell LaTeX to place...between the two columns, instead of the usual space. So@{}means: put nothing (not even the space). – egreg Jan 14 '16 at 14:17