# How to show that the index of an abelian subgroup's annihilator is equal to the order of the subgroup?

Given a finite abelian group $G$, the dual group, $\hat {G}$, is the group of homomorphisms from $G$ into the multiplicative group of the roots of unity in $\mathbb C$.

Now, by the Fundamental Theorem of Finite Abelian Groups, $G$ can be written as $\langle g_1\rangle\times\cdots\langle g_t\rangle$, where $g_j$ has order $n_j$. Using the homomorphism from $G\to\hat G$ that sends $g_j$ to the homomorphism that sends $g_j\mapsto e^{i\tau/n_j}$ and the other $g_k$'s to $1$. This is in fact an isomorphism, so $G$ is isomorphic to its dual group.

I want to show that, for every $d$ that divides the order of $G$, $G$ has as many subgroups of index $d$ as order $d$. My idea is to create a bijection that associates a subgroup $H\leq G$ to the subgroup of $\hat G$ that annihilates $H$ (i.e., the subgroup of homomorphisms into the unit circle that send every element of $H$ to $1$). A subgroup $\hat H\leq\hat G$ is associated with the subgroup of $G$ it annihilates.

Now, I think I need to do two things to finish this proof: first, I need to show that the two maps I defined above are inverses, and that the annihilator of a subgroup of order $d$ is a subgroup of order $\frac{n}{d}$. Could I have some hints on these steps, particularly the 2nd one?

1. The map $\varphi:H\mapsto{\rm Ann}_{\widehat{G}}(H)$ is self-inverse under the canonical identification $G=(G^\wedge)^\wedge$.
2. The map $\varphi$ swaps order and index, that is $|\varphi(H)|=|G/H|$.
Notice that $(2)\Rightarrow(1)$. (How?) For $(2)$, observe $\varphi(H)=\ker(\widehat{G}\to\widehat{H})$ (the restriction map).