Proving $\alpha\colon S\to T$ is one-to-one if $\alpha(A\cap B)=\alpha(A)\cap\alpha(B)$, where $A,B\subseteq S$ 
Prove that $\alpha\colon S\to T$ is one-to-one if $\alpha(A\cap B)=\alpha(A)\cap\alpha(B)$.

Book solution: Assume that $\alpha(A\cap B)=\alpha(A)\cap\alpha(B)$ for every pair of subsets $A$ and $B$ of $S$. If $\alpha(x_1)=\alpha(x_2)$ for $x_1,x_2\in S$, then with $A=\{x_1\}$ and $B=\{x_2\}$ we have $\alpha(A)\cap\alpha(B)=\{\alpha(x_1)\}=\{\alpha(x_2)\}$, and so $\alpha(A\cap B)=\{\alpha(x_1)\}=\{\alpha(x_2)\}$, whence $A=B$ and $x_1=x_2$; thus, $\alpha$ is one-to-one.
Question: The proof supplied by my book...does it seem adequate? Appears to be a little fishy to me because $A$ and $B$ are both restricted to be singleton sets even though they needn't be. I thought about reworking the proof as follows...is my revised proof better / more correct or is it flawed?
Reworked proof: Suppose that $I$ and $J$ are sets of indices and that $Q$ is the set of indices for elements $x_q$ in $S$; that is, $S=\{x_q : q\in Q\}$. Furthermore, suppose that $I\cup J=Q$ and $I\cap J=\varnothing$ and
$$
(\forall i\in I)(\forall j\in J)(i\neq j\land X_I = \{x_i : i\in I\}\land X_J=\{x_j : j\in J\}).
$$
Then we may let $A=X_I=\{x_i\}$ and $B=X_J=\{x_j\}$.
If $\alpha(x_i)=\alpha(x_j)$ for $x_i,x_j\in S$, then with $A=\{x_i\}$ and $B=\{x_j\}$, we have $\alpha(A)\cap\alpha(B)=\{\alpha(x_i)\}=\{\alpha(x_j)\}$, and so $\alpha(A\cap B)=\{\alpha(x_i)\}=\{\alpha(x_2)\}$ whereby we see that $A=B$ and $x_i=x_j$ for all $i\in I$ and $j\in J$. Thus, $\alpha$ is one-to-one.
Is this correct? Is it overkill? Would love to get some feedback. 
 A: The proof in your book is perfectly fine.  The property $\alpha(A\cap B)=\alpha(A)\cap\alpha(B)$ is much stronger than is needed to prove one-to-one-ness.  A weaker version where $A,B$ are restricted to singletons is plenty (as you observed).
The reworked proof builds a lot of machinery defining $A,B$ to each be "half" of the domain $S$, but then in the last paragraph switches to singleton sets again.  
Perhaps it was meant that $A=X_I$ rather than $A=\{x_i\}$; the former is the half-domain as defined above, the latter is a singleton.  Under this change, we do not know that $\alpha(A)\cap \alpha(B)=\{\alpha(x_i)\}$, only that $\alpha(A)\cap\alpha(B)\supseteq \{\alpha(x_i)\}$, as there may be other "collisions" among elements in the two half-spaces.  However we do know that $\alpha(A\cap B)=\emptyset$, since $A\cap B=\emptyset$. (presumably this is part of the way that functions are defined on sets for you).  Hence you can still get a contradiction, with a lot of unnecessary machinery developed along the way.
