This depends on where you are starting from in your definition of magnitude. A vector space in its basic form has no definition of magnitude; this has to be added in as an "extra" (and for some infinite-dimensional vector spaces this is not even possible.)
The simplest form of "vector space with concept of magnitude" ia the "normed vector space". Here the "triangle inequality" that you state is part of the definition of what constitutes a valid norm (rule that assigns a magnitude to each vector). Even in two dimensions there are infinitely many inequivalent choices of norms; all of them must have this property.
However, there is a more complicated concept, the "inner product space" in which every two vectors have a scalar product obeying certain axioms. (A normed space need not have any concept of scalar product of vectors, and indeed many cannot be given one consistent with the norm.)
(A) x.(y+z) = x.y + x.z
This is a much stronger property. Any inner product space has a norm, defined by ||x|| = sqrt(x.x); but most norms cannot be derived from inner products. Now, using these axioms, we first prove an inequality for the product of vectors:
|a.b| <= ||a|| ||b||
Proof: by (D), (b -[(b.a)/||a||2]a).(b -[(b.a)/||a||2]a) >= 0
0 <= b.b - b.[(b.a)/||a||]a -[(b.a)/||a||]a.b + [(b.a)/||a||]2 (a.a)
= b.b - (b.a)(b.a)/||a||2 - (b.a)(b.a)/||a||2 +(b.a)(b.a)/||a||2
= ||b||2 -(b.a)2/||a||2
Multiplying both sides by the positive ||a||2 we get
||b|| ||a|| >= (b.a)
Now, using this,
||a+b||2 = (a+b).(a+b)
and taking roots on both sides
||a+b|| <= ||a|| + ||b||
You should work these over yourself until you understand them.
Math Central is supported by the University of Regina and The Pacific Institute for the Mathematical Sciences.