Showing that $[G:K]=[G:H][H:K]$ for $K \leq H \leq G$ and $|G| < \infty$ Definition: For a finite group $G$ and a subgroup $H \leq G$, $$[G:H] := \frac{|G|}{|H|},$$ which is a positive integer.

For a finite group $G$, assume $K$ is a subgroup of $H$ and $H$ is a subgroup of $G$. Then $[G:K]=[G:H][H:K]$. 

In showing this, why can't I just cancel the $|H|$? Aren't they just elements of the field $\mathbb{R}$, hence the cancellation property holds there?
 A: Lagrange implies that $|G|=|G:H||H|=|G:K||K|$ and $|H|=|H:K||K|$ implies that $|G:H||H:K||K|=|G:K||K|$ simplify the both side by $|K|$.
A: What you say is correct, this so-called "tower law"
$$
[G:K] = [G:H][H:K]
$$
is a simple consequence of the cancellation law in real numbers.
However, note that this is only true in the setting you have provided in your question. The typical definition of the index is $[G:H] = |G/H|$, where $G$ need not be finite. The tower law is true even in this general setting, which means that you are multiplying cardinalities here and not just positive integers.
In fact, we can be even more specific: if you have a complete set of coset representatives for $G/H$ and for $H/K$, say $\{ g_i : i \in I \}$ and $\{ h_j : j \in J \}$ respectively, where $I$ and $J$ are some arbitrary indexing sets, then $\{ g_i h_j : i \in I, j \in J\}$ is a complete set of coset representatives for $G/K$.
But yes, in the case of finite groups all this is much easier to compute as you have observed.
