What is required to establish the law of cosines? In my quantum computation course, we have been given nothing more than the basic axioms of a linear vector space, and and the properties of an inner product; but we have started referring to "the angle between two vectors", and are even using 
$$\left<a|b\right>=\|a\|\|b\|\cos \theta_{a,b}$$
as if it were obviously true. I can see how the above is arrived at from the law of cosines, and that it can be easily derived in the case of real vectors in two dimensions, but what justifies the generalization of the concept of "angle" in this way to arbitrary dimensions and vectors with complex coefficients?
Given nothing but (a) a linear vector space with (b) an inner product, how do I arrive at the law of cosines or, equivalently, the identity above and thus the concept of an "angle"?
 A: In a general inner product space, you don't have an angle lying around. Asking if the given equation holds is meaningless.
However, given that we know the equation does hold in $\mathbb{R}^2$, we use it as a pattern to define an angle in a general inner product space. Therefore your lecturers are not using this result because they have proved it, but because it holds by the definition on angle.
As an aside, note that if the inner product space you are working in is $\mathbb{R}^n$ with the standard inner product, taking the plane spanned by $a$ and $b$, and taking the angle in that plane, does give the required result (as mentioned by Baby Dragon).
A: If I understand you correctly, just form the sum of two vectors $\vec{a}$ and $\vec{b}$ in the plane.  This sum is represented geometrically by a triangle of sides $\vec{a}$, $\vec{b}$, and $\vec{a+b}$.  Then form the dot product of the sum with itself:
$$(\vec{a+b}) \cdot (\vec{a+b}) = \vec{a} \cdot \vec{a} + \vec{b} \cdot \vec{b} + 2 \vec{a} \cdot \vec{b} = a^2 + b^2 + 2 a b \cos{\theta_{ab}}$$
