(a) suppose for two elements of H, a(H∩K) = b(H∩K).

what does this really mean? it means that b^{-1}a is in H∩K, that is it lies in both H AND K.

well, a and b are elements of H, and H is a subgroup, so b^{-1}is in H, and by closure b^{-1}a is also in H. we knew that already.

what is INTERESTING, is now we know b^{-1}a is also in K.

and this means that aK = bK.

on the other hand suppose for two elements a and b of H, that aK = bK.

then b^{-1}a is in K. and as above, b^{-1}a is certainly an element of H.

so b^{-1}a lies in both H AND in K, and so must be in H∩K.

thus a(H∩K) = b(H∩K).

(b) let's try to count the number of elements in HK = {hk: h in H, k in K}.

well, we obviously have |H| choices for h, and |K| choices for k.

so we have "at most" |H|*|K| elements of HK.

the trouble is, what if we have "duplicates", that is: hk = h'k'? we don't want to count those "more than once".

for example, in the group (Z_{30},+), we have the subgroup H = <4> and K = <6>.

now 10 is in HK, since 10 = 4 + 6. but we also have: 10 = 16 + 24 = 4(4) + 4(6), which is also in HK (4+4+4+4 is in H, and 6+6+6+6 is in K).

so the sums 4+6 and 16+24 both yield the same answer, 10. we only want to count 10 as an element of HK ONCE.

so what does hk = h'k' tell us, in terms of cosets? it tells us:

h = h(k'k^{-1}). but k'k^{-1}is clearly in K, so h is in h'K, so hK = h'K.

as we saw above, this means h(H∩K) = h'(H∩K). so hk = h'k' only if h and h' are in the same coset of (H∩K).

now let's look at it from the other end, suppose h(H∩K) = h'(H∩K). this means that hK = h'K, so

every time h and h' are in the same coset of H∩K, we get hK = h'K, so for any k in K, hk is a duplicate of some h'k', with k' in K.

that is: hk = h'k' if and only if h(H∩K) = h'(H∩K). so we can't multiply |H| by |K|, we have to factor out the |H∩K| duplicates

(in other words we don't have |K| multiples of each h, we only have [K:H∩K] multiples - we get distinct elements hk, for each h in H, and each COSET k(H∩K)).

so |HK| = |H|*[K:H∩K] = |H|*(K/|H∩K|) = (|H|*|K|)/|H∩K|.

(c) this should be easy, now.