Finite set $H\subset$ group $G$ is subgroup $\iff H$ is closed under the binary operation of $G$ I have the proof in my textbook but I am just not able to get it. Here's the proof and parts which I don't understand.
Main Proof
1. How does showing ah1 = ah2 prove that |aH| = |H| ?
I get that once we show |aH| = |H| and since H is a subset of G we have aH = H. 
2. With this information how can we say that there exits b in H such that ab = a ?
 A: *

*You can define a function $\varphi \colon H \to aH$ with $h \mapsto ah$. This function is injective as $$ah_1 = \varphi(h_1) = \varphi(h_2) = a h_2$$
implies $h_1=h_2$ (we are in a group, so we can multiply with $a^{-1}$ from the left). $\varphi$ is furthermore surjective. This follows directly from the definition of $\varphi$. However, we could also use the pigeonhole principle. This principle says that a function on a finite set is injective if and only if it is surjective. Hence we have a bijective function from $H$ to $aH$, so $|aH|=|H|$ and as $aH \subseteq H$ and both are finite we have $aH=H$.

*In the first part we have shown $aH=H$, so in particular $H \subseteq aH$. Now $a \in H \subseteq aH$, so $a \in aH$. But all elements in $aH$ are of the form $ab$ for some $b \in H$. Hence in particular $a=ab$ for some $b \in H$.

A: We will show that H is a group.  Since H is non-empty, fix $a \in H$.  Define $\varphi_a : H \rightarrow H$ by $\varphi_a(h) = ah$ for all $h \in H$.  This really does map from H to H because H is closed under the group operation.  We will show that $\varphi_a$ is bijective.  
Let $h_1, h_2$ be elements of $H$.  Suppose $\varphi_a(h_1)=\varphi_a(h_2)$. $$\varphi_a(h_1)=\varphi_a(h_2)$$ $$ah_1=ah_2$$ $$h_1=h_2$$
So $\varphi_a$ is an injective function from one finite set to itself, and is therefore bijective.  We can construct this function for any element $a \in H$.  This will allow us to show the three group axioms.


*

*Associativity: Trivial since $H \subseteq G$

*Identity:  Let $a \in H$  Define $\varphi_a$ as above.  From above, this function is bijective, so in particular it is surjective.  Surjective means that for all $y \in H$ (H being used here as the co-domain), there is is $x \in H$  (here being used as the domain) such that $\varphi_a(x)=y$.  So we apply this property using the fact that we know that $a \in H$. Since $a \in H$, there is some $b \in H$ such that: $$\varphi_a(b)=a$$ $$ab=a$$ 
And so b must be the identity of G,and must be in H. 

*Inverses:  Let $a \in H$.  From 2 above we have the identity element is in H, call the identity element e.  By surjectivity of $\varphi_a$ we have that there exists $c \in H$ such that: $$\varphi_a(c) = e$$ $$ac=e$$
And so c must be the inverse element of a, and it is in H.  Therefore H is a group and is a subset of G, so it is a subgroup of G.
