Structure of ℤₚˣ
#
Maybe these should be in mathlib #
If a surjective group homomorphism f : B →* C
has a section g : C →* B
, then there is a
natural isomorphism of B
to ker(f) × im(g)
. We use im(g)
instead of C
since if B
has topology, then both of ker(f)
and im(g)
will also get topology automatically.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Continuous version of equivKerProdRangeOfLeftInverse
.
Equations
- f.continuousEquivKerProdRangeOfLeftInverse g hfg hc = { toMulEquiv := f.equivKerProdRangeOfLeftInverse g hfg, continuous_toFun := ⋯, continuous_invFun := ⋯ }
Instances For
Teichmüller map #
The smallest integer n
such that the subgroup 1 + pⁿℤₚ
of ℤₚˣ
is torsion-free.
More explicitly, n = 2
if p = 2
, and n = 1
otherwise.
Instances For
The Teichmüller map (ℤ/pⁿℤ)ˣ →* ℤₚˣ
where n = 2
if p = 2
, and n = 1
otherwise, which
maps a
to the unique ϕ(pⁿ)
-th roots of unity
(later we will show that in fact it is the unique roots of unity)
in ℤₚ
such that it is congruent to a
modulo pⁿ
.
Equations
- PadicInt.teichmuller p = { toFun := fun (x : (ZMod (p ^ PadicInt.torsionfreeUnitsExponent p))ˣ) => ⋯.choose, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Subgroups of ℤₚˣ
#
The subgroup 1 + pⁿℤₚ
of ℤₚˣ
.
Equations
- PadicInt.principalUnits p n = (Units.map ↑(PadicInt.toZModPow n)).ker
Instances For
The subgroup 1 + pⁿℤₚ
of ℤₚˣ
where n = 2
if p = 2
, and n = 1
otherwise.
Equations
Instances For
The subgroup (ℤₚˣ)ₜₒᵣ
of torsion elements of ℤₚˣ
. Note that for definitionally equal reason,
its actual definition is the image of the Teichmüller map. Later we will show that it is
indeed equal to the set of torsion elements of ℤₚˣ
.
Equations
Instances For
The natural continuous group isomorphism ℤₚˣ ≃ (1 + pⁿℤₚ) × (ℤₚˣ)ₜₒᵣ
,
where n = 2
if p = 2
, and n = 1
otherwise.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The subgroup 1 + pᵏℤ
of (ℤ/pⁿ⁺ᵏℤ)ˣ
where k = 2
if p = 2
, and k = 1
otherwise #
The subgroup 1 + pᵏℤ
of (ℤ/pⁿ⁺ᵏℤ)ˣ
where k = 2
if p = 2
, and k = 1
otherwise.
Equations
Instances For
The element 1 + pᵏ
in (ℤ/pⁿ⁺ᵏℤ)ˣ
where k = 2
if p = 2
, and k = 1
otherwise #
The element 1 + pᵏ
in the subgroup 1 + pᵏℤ
of (ℤ/pⁿ⁺ᵏℤ)ˣ
where k = 2
if p = 2
, and k = 1
otherwise.
Equations
Instances For
The isomorphism (1 + pⁿℤₚ, *) ≃ (ℤₚ, +)
#
The map ℤₚ → ℤₚ
by sending x
to the limit of (1 + pᵏ) ^ (x mod pⁿ)
as n → ∞
,
where k = 2
if p = 2
, and k = 1
otherwise.
Equations
- PadicInt.equivTorsionfreeUnits.toFun p x = PadicInt.ofIntSeq (fun (i : ℕ) => (1 + ↑p ^ PadicInt.torsionfreeUnitsExponent p) ^ x.appr i) ⋯
Instances For
The continuous group isomorphism (ℤₚ, +) ≃ (1 + pᵏℤₚ, *)
by sending x
to the limit of
(1 + pᵏ) ^ (x mod pⁿ)
as n → ∞
, where k = 2
if p = 2
, and k = 1
otherwise.
Equations
- PadicInt.equivTorsionfreeUnits p = { toEquiv := Equiv.ofBijective (fun (x : Multiplicative ℤ_[p]) => ⟨⋯.unit, ⋯⟩) ⋯, map_mul' := ⋯, continuous_toFun := ⋯, continuous_invFun := ⋯ }