Trying to prove an isomorphism theroem I am going through the following book on abstract algebra by Paul Garret . 
http://www-users.math.umn.edu/~garrett/m/algebra/notes/Whole.pdf
At page 38 , the following theorem is illustrated : 
"Given a normal subgroup , $\ N $ , of a group $\ G $ . and another subgroup $\ H $ ,of it ,and $\ q $ be the map $\ q : G -> G/N $ , then 
$\ H.N $ = $\{ hn : h \in  $ $\ H$ , $g \in $ $\ G $ } = $\ q$$\ ^{-1} $($\ q $ (H))
is a subgroup of $\ G$  and if $\ G $ is finite then the order of the group  is 
$\ |H . N| $ = $\ |H|$ $\ |N|$ / $\ |H $ $\ \cap$ $\ N$ | .
$\ q(H) $ $\  \cong$ $\ H $ / $\ H \cap $ $\ N$ . " 
So , I could prove the first part , for the second part about the cardinalities , I could not follow the proof  in  the book as such , I tired proving it myself . 
So I noticed that for the group $\ HN $ , can be partitioned as the elements  in  $\ H $ $\ \cap$ $\ N $ and the elements not in it . 
As the elements in $ H \cap N $ form a group , I can consider the $ H \cap N$ as an coset with the identity element . 
Now it is also a subgroup in $\ H$, sp the number of cosets of it in $\ H$ is  $\ |H| /|H \cap N$  and similarly , $\ |N| /|H \cap N$ in $\ N $ .
Now , I intended to show that the cosets of the group  $\ H \cap N $ in the group $\ HN $ can be generated by the group operations of the cosets of the groups $\ H \cap N $ in the groups $\ H $ and $\ N $  . 
So , let $h_1  $  be an element belonging to one such coset of $\ H $  , and $\ n_1$ be an element belonging to one such coset of $\ N $ . 
so all the elements in that coset of $ H$ can be expressed as $\ h_1. k$ where $\ k $ is some element belonging to $ h \cap n $ . 
and similarly all the elements in that coset of $ N$ can be expressed as $\ n_1. l$ where $\ l $ is some element belonging to $ h \cap n $ . 
Now any element in $\ HN $  which is not in $\ H $ and not in $\ N$ can be expressed as $ hn $ for some $\ h $ in $\ H$ and for some $\ n $ in $\ N$  where $ h $ and $ n $ belong to some coset in $\ H $ and $\ N $ respectively . As such the group operations of the cosets of $\ H \cap N $ in groups $\ H $ and $\ N$ yield the cosets of the group $\ H \cap N $ in $\ HN $ . As such the total number of elements in $\ HN $ is equal to the total number of cosets in it times the cardinality of $\ HN $  ,i.e., $\ |H|/|H \cap N | $ * $\ |N|/|H \cap N | $ * $\ |H \cap N | $ =  $\ |H|/|H \cap N | $ * $\ |N| $ . 
The last part in my argument about covering up the cosets of the group $\ HN $ is unconvincing for me . 
So the following are my questions regarding this : 


*

*Is the strategy of my proof correct ? (Would be a great help if the flaws could be listed out ) 

*Can I refine the proof with rigor ?(How to extend this idea to provide a convincing proof ?)


******post -edit ************* 
An attempt to add some more conviction to the argument . For every coset , in both $\ H $ and $\ N $ let one element be chosen to represent the whole coset .  Let's pick an element from $ |HN| $ , $\ X $ , such that $\ x $ $ \notin $ $\ H $ and $ \notin$ $\ N $ .  So , $\ x $ can be expressed as $\ ab $ where $\ a$ $\ in$ $\ H $ and $\ b $ in $\ N$ . Now let $\ a $ and $\ b $ be the representative of the coset they are in . Now all the elements in $\ HN$  which can be generated by the product of elements in the coset represented by $a $ and $\ b $ can be represented as $\ a*b*p $ where $\ p $ is some element belonging to $\ H \cap N $. Let's choose $\ ab$ to be the representative of the coset in  $\ HN $ it is in .  Now , we need to show that another pair $\ cd $ with $\ c $ $\ \in $ $\ H $ and $\ d $ $\ \in $ $\ N $  cannot yield the same element . If $\ ab $ = $\ cd $ then $\ ab d^{-1} $ = $\ c$ ,which is not possible , as for that to happen $\ b d^{-1} $ mus be in $\ H $  . As such the product of the number of representative elements of the cosets in both $\ H $ and $\ N $ provide the number of cosets of $\ NH $ . Hence the total number of cosets is $\ |H|/|H \cap N | * |N|/|H \cap N | $
 A: You're basically trying to prove the homomorphism theorem with a hammer. And your argument is very unconvincing, sorry.
Once you know that $HN$ is a subgroup of $G$, you can consider it as a group on its own, and likewise for $H$. Now the trick is to observe that $N$ is a normal subgroup of $HN$ and to consider the map
$$
f\colon H\to HN/N,\qquad f(x)=xN
$$
This is well defined, no problem about that, and a group homomorphism.
What's the kernel? We have $f(x)=N$ (the identity element in $HN/N$) if and only if $x\in N$. Therefore the kernel is $H\cap N$.
Now the homomorphism theorem provides a unique injective group homomorphism $g\colon H/(H\cap N)\to HN/N$ such that $g(x(H\cap N))=f(x)=xN$. Since the map $f$ is surjective (prove it), we conclude that also $g$ is surjective, hence an isomorphism.
As a consequence $|H/(H\cap N)|=|HN/N|$. But this, in view of Lagrange's theorem, translates to
$$
\frac{|H|}{|H\cap N|}=\frac{|HN|}{|N|}
$$
and therefore we obtain
$$
|HN|=\frac{|H|\,|N|}{|H\cap N|}
$$
as required.
