9.3. Example: cyclotomic units
The example that motivates everything is the family of cyclotomic units, which we
shall see is directly linked to \zeta_p.
-
PadicLFunctions.Coleman.cycloUnit[complete] -
PadicLFunctions.Coleman.norm_cycloUnit[complete]
Let a \in \Z be prime to p. The cyclotomic units are
c_n(a) := \frac{\xi_{p^n}^a - 1}{\xi_{p^n} - 1} \in \sU_n.
This is a genuine unit, since both numerator and denominator are uniformisers of
K_n (each \xi_{p^n}^a - 1 is, as a is prime to p).
Lean code for Definition9.3.1●2 declarations
Associated Lean declarations
-
PadicLFunctions.Coleman.cycloUnit[complete]
-
PadicLFunctions.Coleman.norm_cycloUnit[complete]
-
PadicLFunctions.Coleman.cycloUnit[complete] -
PadicLFunctions.Coleman.norm_cycloUnit[complete]
-
defdefined in PadicLFunctions/Coleman/Map.leancomplete
def PadicLFunctions.Coleman.cycloUnit (p : ℕ) [hp : Fact (Nat.Prime p)] (a n : ℕ) : ℂ_[p]
def PadicLFunctions.Coleman.cycloUnit (p : ℕ) [hp : Fact (Nat.Prime p)] (a n : ℕ) : ℂ_[p]
**RJW TeX 2573**: the cyclotomic unit `c_n(a) = (ξ_{p^n}^a − 1)/(ξ_{p^n} − 1)` of the local field `K_n`. (At level `0` it is the junk value `0/0 = 0`; the packaged tower `cyclo` overrides level `0` by `1`.) -
theoremdefined in PadicLFunctions/Coleman/Map.leancomplete
theorem PadicLFunctions.Coleman.norm_cycloUnit (p : ℕ) [hp : Fact (Nat.Prime p)] {a : ℕ} (ha : ¬p ∣ a) {n : ℕ} (hn : 1 ≤ n) : ‖PadicLFunctions.Coleman.cycloUnit p a n‖ = 1
theorem PadicLFunctions.Coleman.norm_cycloUnit (p : ℕ) [hp : Fact (Nat.Prime p)] {a : ℕ} (ha : ¬p ∣ a) {n : ℕ} (hn : 1 ≤ n) : ‖PadicLFunctions.Coleman.cycloUnit p a n‖ = 1
`c_n(a)` has norm `1` (RJW TeX 2573): numerator and denominator are conjugate uniformisers of equal norm (`norm_zetaSys_pow_sub_one_eq`).
-
PadicLFunctions.Coleman.cyclo[complete] -
PadicLFunctions.Coleman.levelNorm_cycloUnit[complete]
The system c(a) := (c_n(a))_n is norm-compatible, i.e. c(a) \in \sU_\infty.
Its Coleman power series is the polynomial
f_{c(a)}(T) = \frac{(1+T)^a - 1}{T}.
Lean code for Lemma9.3.2●2 declarations
Associated Lean declarations
-
PadicLFunctions.Coleman.cyclo[complete]
-
PadicLFunctions.Coleman.levelNorm_cycloUnit[complete]
-
PadicLFunctions.Coleman.cyclo[complete] -
PadicLFunctions.Coleman.levelNorm_cycloUnit[complete]
-
defdefined in PadicLFunctions/Coleman/Map.leancomplete
def PadicLFunctions.Coleman.cyclo (p : ℕ) [hp : Fact (Nat.Prime p)] {a : ℕ} (ha : ¬p ∣ a) (hp2 : p ≠ 2) : PadicLFunctions.Coleman.NormCompatUnits p
def PadicLFunctions.Coleman.cyclo (p : ℕ) [hp : Fact (Nat.Prime p)] {a : ℕ} (ha : ¬p ∣ a) (hp2 : p ≠ 2) : PadicLFunctions.Coleman.NormCompatUnits p
**RJW TeX 2577**: the packaged cyclotomic-unit tower `c(a) = (c_n(a))_n` as a norm-compatible system of units `NormCompatUnits`. Level `0` is set to `1` (the formal value `(1^a−1)/(1−1)` is not a unit, and `NormCompatUnits.compat` is only imposed for `n ≥ 1`); for `n ≥ 1` the unit is `c_n(a)` (norm `1`, in `𝒪_n`, with inverse in `𝒪_n`), and norm compatibility is `levelNorm_cycloUnit`.
-
theoremdefined in PadicLFunctions/Coleman/Map.leancomplete
theorem PadicLFunctions.Coleman.levelNorm_cycloUnit (p : ℕ) [hp : Fact (Nat.Prime p)] {a : ℕ} (ha : ¬p ∣ a) (hp2 : p ≠ 2) {n : ℕ} (hn : 1 ≤ n) : PadicLFunctions.Coleman.levelNorm p n (PadicLFunctions.Coleman.cycloUnit p a (n + 1)) = PadicLFunctions.Coleman.cycloUnit p a n
theorem PadicLFunctions.Coleman.levelNorm_cycloUnit (p : ℕ) [hp : Fact (Nat.Prime p)] {a : ℕ} (ha : ¬p ∣ a) (hp2 : p ≠ 2) {n : ℕ} (hn : 1 ≤ n) : PadicLFunctions.Coleman.levelNorm p n (PadicLFunctions.Coleman.cycloUnit p a (n + 1)) = PadicLFunctions.Coleman.cycloUnit p a n
**Norm compatibility of the cyclotomic units** (RJW TeX 2581–2585): `N_{n+1,n}(c_{n+1}(a)) = c_n(a)` for `n ≥ 1`. Apply the norm collapse `levelNorm_zetaSys_pow_sub_one` to the numerator (`b = a`) and to the denominator (`b = 1`, i.e. `levelNorm_pi`), then take the quotient.
Norm-compatibility means N_{n,n-1}(c_n(a)) = c_{n-1}(a). The minimal polynomial
of \xi_{p^n} over K_{n-1} is X^p - \xi_{p^{n-1}}, so its conjugates are
\eta\,\xi_{p^n} for \eta \in \mu_p. Hence for any b prime to p,
N_{n,n-1}(\xi_{p^n}^b - 1) = \prod_{\eta \in \mu_p}(\xi_{p^n}^b\eta - 1) = \xi_{p^n}^{bp} - 1 = \xi_{p^{n-1}}^b - 1,
using X^p - 1 = \prod_{\eta \in \mu_p}(X\eta - 1). Taking b = a for the
numerator and b = 1 for the denominator, multiplicativity of the norm gives the
claim. Finally, evaluating f_{c(a)}(\pi_n) = ((1+\pi_n)^a - 1)/\pi_n = (\xi_{p^n}^a - 1)/(\xi_{p^n}-1) = c_n(a),
so by uniqueness Theorem 9.2.2 this polynomial is the Coleman series of
c(a) Definition 9.3.1.
Recall the operator \partial = (1+T)\tfrac{d}{dT} from the construction of
\zeta_p, which corresponds to multiplication by x on measures.
We have
\partial \log f_{c(a)}(T) = a - 1 - F_a(T),
where F_a(T) is the power series whose associated measure is \mu_a.
Lean code for Proposition9.3.3●3 theorems
Associated Lean declarations
-
theoremdefined in PadicLFunctions/Coleman/Map.leancomplete
theorem PadicLFunctions.Coleman.one_add_mul_derivative_log_geomSum (p : ℕ) [hp : Fact (Nat.Prime p)] {a : ℕ} (ha : ¬p ∣ a) (_ha0 : a ≠ 0) : (1 + PowerSeries.X) * (PadicMeasure.geomSum p a).derivativeFun = (↑a - 1 - PadicMeasure.Fa p a) * PadicMeasure.geomSum p a
theorem PadicLFunctions.Coleman.one_add_mul_derivative_log_geomSum (p : ℕ) [hp : Fact (Nat.Prime p)] {a : ℕ} (ha : ¬p ∣ a) (_ha0 : a ≠ 0) : (1 + PowerSeries.X) * (PadicMeasure.geomSum p a).derivativeFun = (↑a - 1 - PadicMeasure.Fa p a) * PadicMeasure.geomSum p a
**RJW prop:coleman zetap (TeX 2595–2608)**, cleared form: the logarithmic derivative of `f_{c(a)} = geomSum a` is `(a−1) − F_a`, i.e. `(1+T)·(geomSum a)′ = ((a−1) − F_a)·geomSum a`. Proof (the §8 T704 template): differentiate `geomSum a · T = (1+T)^a − 1` to get `(geomSum a)′·T + geomSum a = ∂((1+T)^a)`; multiply by `(1+T)` and use `(1+T)·∂((1+T)^a) = a·(1+T)^a`; the target multiplied by `T` reduces, via `((1+T)^a−1)·F_a = geomSum a − a` and `geomSum a · T = (1+T)^a − 1`, to the same expression. Cancel the regular element `T`. -
theoremdefined in PadicLFunctions/Coleman/Map.leancomplete
theorem PadicLFunctions.Coleman.colemanSeries_cyclo (p : ℕ) [hp : Fact (Nat.Prime p)] {a : ℕ} (ha : ¬p ∣ a) (hp2 : p ≠ 2) : PadicLFunctions.Coleman.colemanSeries p (PadicLFunctions.Coleman.cyclo p ha hp2) = PadicMeasure.geomSum p a
theorem PadicLFunctions.Coleman.colemanSeries_cyclo (p : ℕ) [hp : Fact (Nat.Prime p)] {a : ℕ} (ha : ¬p ∣ a) (hp2 : p ≠ 2) : PadicLFunctions.Coleman.colemanSeries p (PadicLFunctions.Coleman.cyclo p ha hp2) = PadicMeasure.geomSum p a
**RJW prop:coleman zetap (TeX 2589–2592)**: the Coleman power series of the cyclotomic-unit tower `c(a)` is `f_{c(a)} = geomSum a = ((1+T)^a − 1)/T`. (The source notes it "is even a polynomial".) Proof via the uniqueness of the Coleman series (`coleman_existsUnique`): `geomSum a` satisfies all three defining clauses of `colemanSeries (cyclo a)`: * `IsUnit (geomSum a)` (`isUnit_geomSum`, `a` coprime to `p`); * `𝒩`-invariance `normOp (geomSum a) = geomSum a`: both sides interpolate the norm-compatible tower `c(a)` (`evalPi_normOp` rewrites `(𝒩 geomSum)(π_n)` as `N_{n+1,n}(geomSum(π_{n+1})) = N_{n+1,n}(c_{n+1}(a)) = c_n(a) = geomSum(π_n)` via `evalPi_geomSum` + `levelNorm_cycloUnit`), so `evalPi_injective` gives equality; * interpolation `(geomSum a)(π_n) = c_n(a) = (cyclo a).elems n` for `n ≥ 1` (`evalPi_geomSum`; `(cyclo a).elems n = cycloUnit p a n` at `n ≥ 1`). -
theoremdefined in PadicLFunctions/Coleman/Map.leancomplete
theorem PadicLFunctions.Coleman.dlog_geomSum (p : ℕ) [hp : Fact (Nat.Prime p)] {a : ℕ} (ha : ¬p ∣ a) : PadicLFunctions.Coleman.dlog p (PadicMeasure.geomSum p a) = ↑a - 1 - PadicMeasure.Fa p a
theorem PadicLFunctions.Coleman.dlog_geomSum (p : ℕ) [hp : Fact (Nat.Prime p)] {a : ℕ} (ha : ¬p ∣ a) : PadicLFunctions.Coleman.dlog p (PadicMeasure.geomSum p a) = ↑a - 1 - PadicMeasure.Fa p a
`∂log (geomSum a) = (a−1) − F_a` (RJW prop:coleman zetap, TeX 2595–2608): the cleared identity `(1+T)·(geomSum a)′ = ((a−1)−F_a)·geomSum a` (`one_add_mul_derivative_log_geomSum`) becomes, on multiplying by `geomSum a⁻¹` (`Ring.mul_inverse_cancel`, `geomSum a` a unit), `∂log (geomSum a) = (a−1) − F_a`.
A direct computation using \partial \log g = (1+T)g'/g:
\partial \log f_{c(a)} = \partial\log((1+T)^a - 1) - \partial\log T = \frac{a(1+T)^a}{(1+T)^a - 1} - \frac{T+1}{T}.
Writing a(1+T)^a = a((1+T)^a - 1) + a in the first term and
(T+1)/T = 1 + 1/T in the second gives
= a - 1 - \frac1T + \frac{a}{(1+T)^a - 1} = a - 1 - F_a(T),
which is exactly the defining expression for F_a Lemma 9.3.2.
The restriction to \Zpx of the measure attached to \partial \log f_{c(a)}
equals minus the restriction of \mu_a:
\Res_{\Zpx}\big(\mu_{\partial \log f_{c(a)}}\big) = -\Res_{\Zpx}(\mu_a),
where \mu_a Definition 4.1.4 is the measure used to build \zeta_p.
Lean code for Lemma9.3.4●1 theorem
Associated Lean declarations
-
theoremdefined in PadicLFunctions/Coleman/Map.leancomplete
theorem PadicLFunctions.Coleman.res_derivative_log_geomSum (p : ℕ) [hp : Fact (Nat.Prime p)] {a : ℕ} (_ha : ¬p ∣ a) (_ha0 : a ≠ 0) : PadicMeasure.res p ⋯ ((PadicMeasure.mahlerLinearEquiv p).symm (↑a - 1 - PadicMeasure.Fa p a)) = -PadicMeasure.res p ⋯ (PadicMeasure.muA p a)
theorem PadicLFunctions.Coleman.res_derivative_log_geomSum (p : ℕ) [hp : Fact (Nat.Prime p)] {a : ℕ} (_ha : ¬p ∣ a) (_ha0 : a ≠ 0) : PadicMeasure.res p ⋯ ((PadicMeasure.mahlerLinearEquiv p).symm (↑a - 1 - PadicMeasure.Fa p a)) = -PadicMeasure.res p ⋯ (PadicMeasure.muA p a)
**RJW lem:relate cyclo to mua (TeX 2611–2624)**, series/measure-level form: `Res_{ℤ_p^×}(μ_{(a−1)−F_a}) = −Res_{ℤ_p^×}(μ_a)`, where `μ_{(a−1)−F_a}` is the measure with Mahler transform `(a−1) − F_a`. Linearity of `𝓐⁻¹` and of `Res` splits off the constant part `a−1`, whose residue vanishes (`res_units_symm_C`); the remaining `−𝓐⁻¹(F_a) = −μ_a`.
On power series, restriction of a measure to \Zpx is implemented by the operator
1 - \varphi\circ\psi. This operator annihilates constants, so it kills the term
a - 1 in Proposition 9.3.3. Hence
(1 - \varphi\circ\psi)\,\partial\log f_{c(a)} = -(1 - \varphi\circ\psi)F_a,
which is the asserted identity of restricted measures.
This relation is the engine behind the new construction of \zeta_p via
cyclotomic units carried out below.