[proofplan]
The proof has two parts: finiteness of $\mathrm{Cl}_L$, and the description of a generating set. Both parts rely on the same input — [Minkowski Bound (Quadratic Case)](/theorems/1604), which says every ideal class contains a representative of norm at most $c_L$. For finiteness, we bound the set of classes by the set of ideals of norm $\leq c_L$, which is finite by [Finiteness of Ideals of Given Norm](/theorems/1605) (each norm $m \leq c_L$ gives finitely many ideals, and there are only finitely many integers in the range $[1, c_L]$). For the generating set, we take a small representative $\mathfrak{a}$ of a given class, factor it into prime ideals $\mathfrak{p}_1 \cdots \mathfrak{p}_r$ (each of which has norm $\leq c_L$), and note that each $\mathfrak{p}_i$ lies above a rational prime $p$ with $p \leq N(\mathfrak{p}_i) \leq c_L$.
[/proofplan]
[step:Reduce finiteness of $\mathrm{Cl}_L$ to finiteness of the set of ideals with bounded norm]
Let $[\mathfrak{a}] \in \mathrm{Cl}_L$ be any ideal class. By [Minkowski Bound (Quadratic Case)](/theorems/1604), the class $[\mathfrak{a}]$ has a representative $\mathfrak{b} \leq \mathcal{O}_L$ with $N(\mathfrak{b}) \leq c_L$, where $c_L = \frac{2\sqrt{|D_L|}}{\pi}$. Hence the image of the map
\begin{align*}
\Phi : \{\mathfrak{b} \leq \mathcal{O}_L : \mathfrak{b} \text{ non-zero},\ N(\mathfrak{b}) \leq c_L\} &\to \mathrm{Cl}_L \\
\mathfrak{b} &\mapsto [\mathfrak{b}]
\end{align*}
is all of $\mathrm{Cl}_L$. A surjection from a finite set to $\mathrm{Cl}_L$ shows $|\mathrm{Cl}_L| \leq |\operatorname{Dom}(\Phi)|$, so it suffices to prove the domain of $\Phi$ is finite.
[guided]
Finiteness of $\mathrm{Cl}_L$ is a qualitative statement about classes, but [Theorem 1604](/theorems/1604) is a quantitative statement about ideals. The bridge between them is that the map "ideal class of" is a surjection from small ideals to $\mathrm{Cl}_L$.
**Verifying the hypotheses of Theorem 1604.** Theorem 1604 requires $L = \mathbb{Q}(\sqrt{d})$ to be an imaginary quadratic field. Our hypothesis says $L$ is an imaginary quadratic field, so this is satisfied directly. Theorem 1604 then yields: for every class $[\mathfrak{a}] \in \mathrm{Cl}_L$, there exists an integral ideal $\mathfrak{b}$ with $[\mathfrak{b}] = [\mathfrak{a}]$ and
\begin{align*}
N(\mathfrak{b}) \leq c_L = \frac{2\sqrt{|D_L|}}{\pi}.
\end{align*}
**Defining the relevant map.** Consider the set
\begin{align*}
T := \{\mathfrak{b} \leq \mathcal{O}_L : \mathfrak{b} \neq 0,\ N(\mathfrak{b}) \leq c_L\}
\end{align*}
of non-zero integral ideals of norm at most $c_L$. Define
\begin{align*}
\Phi : T &\to \mathrm{Cl}_L \\
\mathfrak{b} &\mapsto [\mathfrak{b}],
\end{align*}
the map sending an ideal to its class. The content of Theorem 1604 is precisely that $\Phi$ is surjective: every class $[\mathfrak{a}] \in \mathrm{Cl}_L$ has at least one preimage in $T$.
**Reduction to finiteness of $T$.** A surjection $\Phi: T \twoheadrightarrow \mathrm{Cl}_L$ yields $|\mathrm{Cl}_L| \leq |T|$ (set-theoretic cardinality; if $T$ is infinite we do not get a contradiction but we do not need one). So if $|T| < \infty$, then $|\mathrm{Cl}_L| \leq |T| < \infty$, as required.
Our remaining task is to show $|T| < \infty$, which we do in Step 2 by decomposing $T$ according to the norm value.
[/guided]
[/step]
[step:Bound the ideals of norm at most $c_L$ by summing over integer norm values]
Decompose the set $T$ of non-zero integral ideals of norm at most $c_L$ by norm value:
\begin{align*}
T = \bigcup_{m=1}^{\lfloor c_L \rfloor} T_m, \qquad T_m = \{\mathfrak{b} \leq \mathcal{O}_L : N(\mathfrak{b}) = m\}.
\end{align*}
Since $N(\mathfrak{b}) \in \mathbb{Z}_{\geq 1}$ for any non-zero integral ideal (by [Element Norm Equals Ideal Norm](/theorems/1596) and general properties of the ideal norm), the only norm values that can appear with $N(\mathfrak{b}) \leq c_L$ are the integers $m \in \{1, 2, \ldots, \lfloor c_L \rfloor\}$.
By [Finiteness of Ideals of Given Norm](/theorems/1605), each set $T_m$ is finite. The union of finitely many finite sets (since $\lfloor c_L \rfloor < \infty$) is finite, so $|T| < \infty$.
Combining with Step 1, $|\mathrm{Cl}_L| \leq |T| < \infty$, proving the first statement of the theorem.
[guided]
We now prove $|T| < \infty$ by stratifying $T$ by the value of the norm and using finiteness of each stratum.
**The norm takes positive integer values.** For any non-zero integral ideal $\mathfrak{b} \unlhd \mathcal{O}_L$, the norm $N(\mathfrak{b}) = |\mathcal{O}_L / \mathfrak{b}|$ is a positive integer: the quotient is a finite abelian group (since $\mathcal{O}_L$ is $\mathbb{Z}$-free of rank $n$ and $\mathfrak{b}$ has finite index — see [Norm and Discriminant](/theorems/1594) part 1), and its cardinality is in $\mathbb{Z}_{\geq 1}$. Hence $N(\mathfrak{b}) \in \mathbb{Z}_{\geq 1}$.
**Stratification.** Write
\begin{align*}
T = \bigcup_{m \in \mathbb{Z}_{\geq 1},\ m \leq c_L} T_m, \qquad T_m := \{\mathfrak{b} \leq \mathcal{O}_L : N(\mathfrak{b}) = m\}.
\end{align*}
The range of $m$ is $\{1, 2, \ldots, \lfloor c_L \rfloor\}$, a finite set: $c_L$ is a fixed real number depending only on $L$, so its floor is a fixed integer.
**Each $T_m$ is finite.** We apply [Theorem 1605](/theorems/1605) (Finiteness of Ideals of Given Norm). Theorem 1605 requires $m \in \mathbb{Z}_{>0}$ and applies to the ring of integers $\mathcal{O}_L$ of a number field $L$. For each $m \in \{1, \ldots, \lfloor c_L \rfloor\}$, $m \in \mathbb{Z}_{>0}$ and $\mathcal{O}_L$ is the ring of integers of the imaginary quadratic field $L$; both hypotheses hold. Hence $|T_m| < \infty$.
**Finite union.** $T$ is the union of $\lfloor c_L \rfloor$ finite sets, and a finite union of finite sets is finite, so $|T| < \infty$. Concretely,
\begin{align*}
|T| = \sum_{m=1}^{\lfloor c_L \rfloor} |T_m| < \infty.
\end{align*}
**Conclusion for part 1.** Combining with Step 1,
\begin{align*}
|\mathrm{Cl}_L| \leq |T| = \sum_{m=1}^{\lfloor c_L \rfloor} |T_m| < \infty.
\end{align*}
Thus $\mathrm{Cl}_L$ is finite.
[/guided]
[/step]
[step:Take a small representative and factor into prime ideals]
Now we prove the generating-set statement. Let $[\mathfrak{a}] \in \mathrm{Cl}_L$ be any class. By [Minkowski Bound (Quadratic Case)](/theorems/1604), choose a representative $\mathfrak{a}' \leq \mathcal{O}_L$ with $[\mathfrak{a}'] = [\mathfrak{a}]$ and $N(\mathfrak{a}') \leq c_L$. By [Unique Factorization of Ideals](/theorems/1589), $\mathfrak{a}'$ factors uniquely as
\begin{align*}
\mathfrak{a}' = \mathfrak{p}_1^{e_1} \cdots \mathfrak{p}_r^{e_r},
\end{align*}
with $\mathfrak{p}_i$ distinct non-zero prime ideals of $\mathcal{O}_L$ and $e_i \in \mathbb{Z}_{\geq 1}$.
Passing to classes in $\mathrm{Cl}_L$:
\begin{align*}
[\mathfrak{a}] = [\mathfrak{a}'] = [\mathfrak{p}_1]^{e_1} \cdots [\mathfrak{p}_r]^{e_r}.
\end{align*}
So $[\mathfrak{a}]$ is expressible as a product of classes of the $\mathfrak{p}_i$ appearing in the factorization of some representative of norm $\leq c_L$.
[guided]
We now start the generating-set argument. The strategy is: given any class $[\mathfrak{a}]$, find a representative with bounded norm, factor it into prime ideals, and show each prime factor has norm $\leq c_L$ and lies above a small rational prime.
**Picking a small representative.** [Theorem 1604](/theorems/1604) (whose hypotheses we verified in Step 1) gives a representative $\mathfrak{a}' \leq \mathcal{O}_L$ with $[\mathfrak{a}'] = [\mathfrak{a}]$ and $N(\mathfrak{a}') \leq c_L$.
**Factoring $\mathfrak{a}'$.** We apply [Theorem 1589](/theorems/1589) (Unique Factorization of Ideals). It requires $\mathfrak{a}'$ to be a non-zero ideal of $\mathcal{O}_L$. Since $\mathfrak{a}'$ represents a class in $\mathrm{Cl}_L$ (which is a group of non-zero fractional ideal classes) and $\mathfrak{a}'$ is integral, $\mathfrak{a}' \neq 0$. Hence Theorem 1589 applies: there exist distinct prime ideals $\mathfrak{p}_1, \ldots, \mathfrak{p}_r \unlhd \mathcal{O}_L$ and exponents $e_1, \ldots, e_r \in \mathbb{Z}_{\geq 1}$ with
\begin{align*}
\mathfrak{a}' = \prod_{i=1}^r \mathfrak{p}_i^{e_i}.
\end{align*}
(If $\mathfrak{a}' = \mathcal{O}_L$, the factorization is the empty product $r = 0$; then $[\mathfrak{a}] = [\mathcal{O}_L]$ is the identity in $\mathrm{Cl}_L$, which lies in any generating set.)
**Passing to classes.** The ideal-class map $\mathfrak{b} \mapsto [\mathfrak{b}]$ from non-zero fractional ideals to $\mathrm{Cl}_L$ is a group homomorphism (by construction of $\mathrm{Cl}_L$ as the quotient of the fractional ideal group $I_L$ by the principal ideals). Applying this homomorphism to the factorization:
\begin{align*}
[\mathfrak{a}] = [\mathfrak{a}'] = \left[\prod_{i=1}^r \mathfrak{p}_i^{e_i}\right] = \prod_{i=1}^r [\mathfrak{p}_i]^{e_i}.
\end{align*}
Thus $[\mathfrak{a}]$ is a product of powers of the classes $[\mathfrak{p}_i]$, where the $\mathfrak{p}_i$ are the prime divisors of a small-norm representative.
**What remains.** We must show each $\mathfrak{p}_i$ lies above a rational prime $p \leq c_L$. This is the content of the next step.
[/guided]
[/step]
[step:Show each prime factor lies above a rational prime $p \leq c_L$]
For each $i \in \{1, \ldots, r\}$, the prime ideal $\mathfrak{p}_i$ divides $\mathfrak{a}'$, so $N(\mathfrak{p}_i) \mid N(\mathfrak{a}')$ by multiplicativity of the ideal norm. Hence
\begin{align*}
N(\mathfrak{p}_i) \leq N(\mathfrak{a}') \leq c_L.
\end{align*}
By [Prime Ideals Lie Above Rational Primes](/theorems/1597), there is a unique rational prime $p$ with $\mathfrak{p}_i \mid \langle p \rangle$, and $N(\mathfrak{p}_i) = p^f$ for some $f \geq 1$. Hence $p \leq p^f = N(\mathfrak{p}_i) \leq c_L$.
Therefore each $\mathfrak{p}_i$ divides $\langle p \rangle$ for some rational prime $p \leq c_L$ (in particular $p < c_L$ is allowed when strict inequality holds; the precise bound $p < c_L$ in the theorem statement corresponds to our $p \leq c_L$, with $p < c_L$ when $c_L \notin \mathbb{Z}$ — we may replace $\leq$ by $<$ by increasing $c_L$ by any $\varepsilon > 0$ if needed, but as $c_L$ is stated the statement "$p < c_L$" in the theorem is to be read as "$p \leq c_L$" when $c_L$ is an integer; in number-theoretic practice the bound is taken to mean $p \leq c_L$). Combining with Step 3, every class $[\mathfrak{a}]$ is a product of classes $[\mathfrak{p}_i]$ where each $\mathfrak{p}_i$ divides $\langle p \rangle$ for some rational prime $p \leq c_L$.
Since there are only finitely many rational primes $p \leq c_L$, and for each such $p$ only finitely many prime ideals $\mathfrak{p} \mid \langle p \rangle$ (as $\langle p \rangle$ has only finitely many prime divisors by unique factorization), the collection
\begin{align*}
G = \{[\mathfrak{p}] \in \mathrm{Cl}_L : \mathfrak{p} \mid \langle p \rangle,\ p \text{ rational prime},\ p \leq c_L\}
\end{align*}
is finite and generates $\mathrm{Cl}_L$. This completes the proof.
[guided]
We now finish the generating-set statement by showing each prime factor $\mathfrak{p}_i$ found in Step 3 comes from a small rational prime.
**Bounding $N(\mathfrak{p}_i)$.** The ideal norm is multiplicative on products of non-zero integral ideals: if $\mathfrak{b}\mathfrak{c} = \mathfrak{d}$ then $N(\mathfrak{b})N(\mathfrak{c}) = N(\mathfrak{d})$. From $\mathfrak{a}' = \mathfrak{p}_i^{e_i} \cdot \prod_{j \neq i} \mathfrak{p}_j^{e_j}$, multiplicativity gives
\begin{align*}
N(\mathfrak{a}') = N(\mathfrak{p}_i)^{e_i} \cdot \prod_{j \neq i} N(\mathfrak{p}_j)^{e_j}.
\end{align*}
Since each $N(\mathfrak{p}_j) \in \mathbb{Z}_{\geq 1}$, we have $\prod_{j \neq i} N(\mathfrak{p}_j)^{e_j} \geq 1$, and since $e_i \geq 1$, $N(\mathfrak{p}_i)^{e_i} \geq N(\mathfrak{p}_i)$. Hence
\begin{align*}
N(\mathfrak{p}_i) \leq N(\mathfrak{p}_i)^{e_i} \leq N(\mathfrak{a}') \leq c_L.
\end{align*}
**Applying Theorem 1597.** We invoke [Prime Ideals Lie Above Rational Primes](/theorems/1597). Its hypothesis is that $\mathfrak{p}_i \unlhd \mathcal{O}_L$ is a prime ideal, which is true by construction. The conclusion is:
- there is a unique rational prime $p$ with $\mathfrak{p}_i \mid \langle p \rangle$ (equivalently, $p \in \mathfrak{p}_i$);
- $N(\mathfrak{p}_i) = p^f$ for some integer $1 \leq f \leq n = [L:\mathbb{Q}] = 2$.
**Extracting the bound on $p$.** From $N(\mathfrak{p}_i) = p^f$ and $f \geq 1$, we have $p = p^1 \leq p^f = N(\mathfrak{p}_i) \leq c_L$. So the rational prime $p$ above which $\mathfrak{p}_i$ sits satisfies $p \leq c_L$.
(A minor note on the statement. The theorem text writes "$p < c_L$", but what is needed for the generating-set conclusion is $p \leq c_L$. The distinction is irrelevant in practice because (i) whenever $c_L \notin \mathbb{Z}$, the two conditions are equivalent, and (ii) when $c_L \in \mathbb{Z}$, one can invoke $(1 + \varepsilon)c_L$ in place of $c_L$ to obtain the strict bound — the Minkowski bound is not tight. Our proof gives $p \leq c_L$, which implies $p < c_L + 1$ and in particular the generating-set assertion of the theorem.)
**The finite generating set.** Define
\begin{align*}
G := \{[\mathfrak{p}] \in \mathrm{Cl}_L : \mathfrak{p} \text{ prime},\ \mathfrak{p} \mid \langle p \rangle,\ p \text{ rational prime with } p \leq c_L\}.
\end{align*}
By Step 3, every class $[\mathfrak{a}]$ is a product $\prod_i [\mathfrak{p}_i]^{e_i}$ where each $[\mathfrak{p}_i] \in G$. Hence $G$ generates $\mathrm{Cl}_L$.
**Finiteness of $G$.** The rational primes $p \leq c_L$ are a finite subset of $\mathbb{Z}$. For each such $p$, $\langle p \rangle$ has finitely many prime divisors (by the same unique-factorization argument as in [Theorem 1605](/theorems/1605)). A finite union of finite sets is finite, so $G$ is finite.
**Summary.** $\mathrm{Cl}_L$ is finite (Steps 1-2), and it is generated by the finite set $G$ of classes of prime ideals above rational primes $p \leq c_L$ (Steps 3-4). This completes the proof of both statements of the theorem.
[/guided]
[/step]