Any vector space injecting into the dual ideal-power radical is finite dimensional and satisfies the arithmetic rank bound.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped NumberField Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.Cohomology
open ClassFieldTower.ProP
universe u
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]theorem finiteDimensional_and_finrank_le_idealPowerRadicalModPDual_of_injective
{V : Type u} [AddCommGroup V] [Module (ZMod p) V]
(f : V →ₗ[ZMod p]
Module.Dual (ZMod p) (idealPowerRadicalModP F p))
(hf : Function.Injective f) :
FiniteDimensional (ZMod p) V ∧
(open Classical in
Module.finrank (ZMod p) V ≤
pClassRank F p +
(NumberField.InfinitePlace.nrRealPlaces F +
NumberField.InfinitePlace.nrComplexPlaces F - 1) +
(if ∃ ζ : F, IsPrimitiveRoot ζ p then 1 else 0)) := by
classical
let _ : AddCommGroup (ZMod p) :=
(ZMod.instField p).toDivisionRing.toAddCommGroup
let _ : Module (ZMod p) (ZMod p) := Semiring.toModule
let : FiniteDimensional (ZMod p)
(Module.Dual (ZMod p) (idealPowerRadicalModP F p)) :=
idealPowerRadicalModPDual_finiteDimensional F p
let : FiniteDimensional (ZMod p) V :=
FiniteDimensional.of_injective f hf
refine ⟨inferInstance, ?_⟩
calc
Module.finrank (ZMod p) V ≤
Module.finrank (ZMod p)
(Module.Dual (ZMod p) (idealPowerRadicalModP F p)) :=
f.finrank_le_finrank_of_injective hf
_ = pClassRank F p +
(NumberField.InfinitePlace.nrRealPlaces F +
NumberField.InfinitePlace.nrComplexPlaces F - 1) +
(if ∃ ζ : F, IsPrimitiveRoot ζ p then 1 else 0) :=
finrank_idealPowerRadicalModPDual F p