  Given a global field $F$ with absolute Galois group $G_F$, we define a
category $SMod_F$ whose objects are finite $G_F$-modules decorated with local
conditions. We define this category so that `taking the Selmer group' defines a
functor $Sel$ from $SMod_F$ to $Ab$. After defining a duality functor $\vee$ on
$SMod_F$, we show that every short exact sequence $0 \to M_1 \to M \to M_2 \to
0$ in $SMod_F$ gives rise to a natural bilinear pairing $$Sel (M_2) \times Sel
(M_1^{\vee}) \to \mathbb{Q}/\mathbb{Z}$$ whose left and right kernels are the
images of $Sel (M)$ and $Sel (M^{\vee})$, respectively. This construction
generalizes the Cassels-Tate pairing defined on Shafarevich-Tate groups of
abelian varieties over global fields. Our main results generalize the fact that
the classical pairing is antisymmetric for principally polarized abelian
varieties but, by work of Poonen and Stoll, not necessarily alternating.
  We can express many previously-defined class field theoretic pairings as
instances of this construction, giving the study of these pairings access to
our general results for $SMod_F$. As one application, we reprove and extend
recent results about the class groups of number fields containing many roots of
unity.
