I would definitely go the second way with $\displaystyle
: I find that it looks strange to have something centered after a bullet. To get the vertical alignment correct, just add [t]
after \begin{aligned}
, where "t" means "top". (See also the top of page 8 of the User's guide for the amsmath Package.)
Without an image of exactly how you want this typeset it is difficult to know for sure, but perhaps one of these is what you are looking for:

or perhaps:

\documentclass{book}
\usepackage{amsmath}
\newcommand{\fib}{\mathrm{fib}}
\begin{document}
\begin{align*}
&\text{if } x < 2 & \fib X &= 1 \\
&\text{otherwise } & \fib X &= (\fib (X - 1)) + (\fib (X - 2))
\end{align*}
Another option is:
\begin{align*}
\fib X = \begin{cases}
\text{if } x < 2 & = 1 \\
\text{otherwise } & = (\fib (X - 1)) + (\fib (X - 2))
\end{cases}
\end{align*}
\end{document}
Here is how you can modify the given MWE to obtain better spacing:

Notes:
Code:
\documentclass{article}
\usepackage{amsmath}
\newcommand{\prodtime}{\operatorname{prodtime}}
\begin{document}
\[
\begin{array}{l l @{}l}
\prodtime V & X = Y &{}= 0 \\
\prodtime V & X = f(\ldots) &{}= 0 \\
\prodtime V & p(X_1,\,\ldots,\,X_n) &{}= \prodtime V\,(\operatorname{body} p) \\
\prodtime V & V = \,f(X_1,\,\ldots,\,X_n) &{}= \prodtime V\,(\operatorname{body} f) \\
\prodtime V & X_0(X_1,\,\ldots,\,X_n) &{}= \mathit{time\_of\_call} \\
\prodtime V & m(X_1,\,\ldots,\,X_n) &{}= \mathit{time\_of\_call} \\
\prodtime V & \mathit{foreign}(\ldots) &{}= 0 \\
\prodtime V & G_\mathrm{head},\,G_\mathrm{tail}
\end{array}
\]
\end{document}
Best Answer
array
is not designed for aligning equations, it is designed for arrays and matrices. Theamsmath
package has a host of alignment environments, I give a couple of examples:note that
exp
is a multi-letter identifier so shouldn't be set in math italic.