How can I draw annotated braces over and under math expressions?

What LaTeX markup would one have to write to produce a result similar to the image below?

Please excuse my Paint-and-mouse drawing skills. :-)

-
Well, depending on how fancy you want to get there is always a \tikzmark solution... :-) – Peter Grill Oct 28 '12 at 1:27
@PeterGrill Do you have an example of something fancy? :-) – Bent Rasmussen Oct 28 '12 at 2:24
Well, have a look at Curly brace to insert something into an equation? Like an inverted underbrace, or Asymmetric overbrace, or Overbrace in amsmath align environment. Only useful, if you perhaps want to add color, change the arrow tips, etc... – Peter Grill Oct 28 '12 at 3:06
Also have a look at the mathtools package for fixing the spacing of the braces and introducing brackets together with many other fixes to amsmath package. Section 3.3.2 is the part I've mentioned. – percusse Oct 28 '12 at 9:46

amsmath's \text can help to obtain the correct size of superscript/subscript fonts in math mode, while the bracing it possible using the traditional \overbrace/\underbrace:

\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\begin{document}
$\overbrace{a\rightarrow\underbrace{(b\rightarrow c)}_{\text{bar}}}^{\text{foo}}$
\end{document}


For other symbols (like arrows), see the Comprehensive LaTeX Symbol List.

-
Ok that was a fast and (so far) perfect answer. Thanks a lot! :-) – Bent Rasmussen Oct 28 '12 at 1:11

While Werner's solution is compact and precise, this one shows other possibilities.

\documentclass{article}
\usepackage{amsmath}
\begin{document}
$\overset{\text{foo}}{\overbrace{a\rightarrow \underset{\text{bar}}{\underbrace{(b \rightarrow c)}}}}$
\end{document}


However, I would go Werner's way if I have to do this :-). (This answer is for having some fun).

-
Thanks to you both for good solutions to the problem. – Bent Rasmussen Oct 28 '12 at 1:24