! Undefined control sequence.
l.1102 \pgfdeclarearrow
{name=|<->|, means={>[sep=0pt].|}}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.1102 \pgfdeclarearrow{n
ame=|<->|, means={>[sep=0pt].|}}
You're in trouble here. Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.

I just recently updated MiKTeX 2.9. This is what the pdf file contains:

EDIT

Completely uninstalling MikTeX 2.9 and downloading and installing MiKTeX 2.9 rev. 2.9.5105 solved the issue. This post may be closed as too localized if needed. The probably could have been in the installation of the package pgf since running \listfiles produces the same output as above?

you presumably have a version mis-match, add \listfiles and see what you get. The pdf output is as expected from your log if you do not stop at the error, it's just arbitrary recovery action, typesetting the (intended) argument as text |< etc coming out as punctuation characters in OT1 encoding.
– David CarlisleMar 2 '14 at 23:32

No error with your code here with a MiKTeX updated yesterday, what included also the update to pgf/TikZ 3.0.
– SperavirMar 2 '14 at 23:32

I updated texlive this weekend but it still has v2.10 you have 3.0 but I guess the update is incomplete @Speravir could you say if your tikz 3 generated \listfiles is different to the above?
– David CarlisleMar 2 '14 at 23:42

4

This question appears to be off-topic because the installation of an updated MiKTeX distribution solved the problem.
– WernerMar 4 '14 at 21:21