Linear transformations: one-to-one mapping. My Linear Algebra textbook offers the following theorem:

Let $T: R^n \to R^m$ be a linear transformation. Then $T$ is one-to-one if and only if the equation $T(\vec{x})$ = $\vec{0}$ has only the trivial solution.

I don't understand why this is true. 
From discrete mathematics, I know that a mapping/function $T: A \to B$ is one-to-one if, for $a \in A$ and $b \in B$, we have that $f(a) = f(b)$ implies that $a = b$. In other words, no two elements in the domain map to the same element in the codomain.
In terms of vectors, that means that no two vectors $\vec{x}$ in the domain $R^n$ map to the same vector $A\vec{x}$ in $R^m$. Or in other words, $A\vec{x} = \vec{b}$ has at most one solution for all $\vec{x} \in R^n$.
In the theorem they give, why are they only talking about $\vec{b} = \vec{0}$, the zero vector? 
What if $T(\vec{x}) = \vec{b}$ has infinitely many solutions for $\vec{b} \ne \vec{0}$, violating the condition for one-to-oneness? 
I don't see why only examining the special case of $T(\vec{x}) = \vec{0}$ can allow us to conclude that the entire mapping is one to one.
Edit: or is that not what they're saying? Is it because of the wording "if and only if"? Does the theorem actually translate to:


*

*if $T$ is one to one, then $T(\vec{x}) = \vec{0}$ has only the trivial solution 

*if $T(\vec{x}) = \vec{0}$ only has the trivial solution, then $T(\vec{x})$ is one to one
I can see both of these being true.
 A: Suppose $T$ is not one-to-one. Then there exist $a$ and $b$ with $a \neq b$ such that $T(a) = T(b)$. But then by linearity we have that $T(a-b) = 0$, and so there is a nontrivial solution to $T(x) = 0$. (Aside: it is the linearity that allows us to make broad statements and consider only the point $0$).
By the contrapositive of what we've just shown, we now have that $T(x)$ having no nontrivial solutions implies that $T$ is one-to-one.
Conversely, suppose that $T$ is one-to-one. Then as $T(0) = 0$, there can be no more solutions to $T(x) = 0$. So $T$ being one-to-one implies that there are no nontrivial solutions to $T(x) = 0$.
A: Special thanks to @lulu and @Bernard in the comments. Gonna write up an answer.
The theorem is equivalent to:


*

*if $T$ is one to one, then $T(\vec{x}) = \vec{0}$ has only the trivial solution 

*if $T(\vec{x}) = \vec{0}$ only has the trivial solution, then $T(\vec{x})$ is one to one
We need to prove both these cases to prove the theorem. In both cases, we'll assume $T$ is linear.

1) if $T$ is one to one, then $T(\vec{x}) = \vec{0}$ has only the trivial solution
We proceed with a direct proof. Assume that $T(\vec{x})$ is one to one. Then for $\vec{a}, \vec{b} \in R^n$, we have that $T(\vec{a}) = T(\vec{b}) \implies \vec{a} = \vec{b}$, by definition of one to one. Now, by linearity, we have that $T(\vec{a} - \vec{b}) = T(\vec{a}) - T(\vec{b}).$ Furthermore, since $\vec{a} = \vec{b}$ and $T(\vec{a}) = T(\vec{b})$, we can conclude that $T(\vec{a} - \vec{b}) = T(\vec{0}) = T(\vec{a}) - T(\vec{b}) = \vec{0}$. In other words, $T(\vec{0}) = \vec{0}$. This means $T(\vec{x}) = \vec{0}$ only has the trivial solution.
1) if $T(\vec{x}) = \vec{0}$ only has the trivial solution, then $T$ is one to one
We proceed with a direct proof. Assume that $T(\vec{x}) = \vec{0}$ only has the trivial solution. Then $\vec{x} = \vec{0}$. Let's take vectors $\vec{a}, {b} \in R^n$. Because $T(\vec{x})$ is linear, we have that $T(\vec{a} - \vec{b}) = T(\vec{a}) - T(\vec{b}) = \vec{0}.$ Rearranging, $T(\vec{a}) = T(\vec{b}).$ We now need to prove that this implies that $\vec{a} = \vec{b}$. we do so by noticing that since $T(\vec{x}) = \vec{0} \implies \vec{x} = \vec{0}$, then $T(\vec{a} - \vec{b}) = \vec{0} \implies \vec{a} - \vec{b} = \vec{0}$. Solving, we have that $\vec{a} = \vec{b}$, as desired. 
