All proofs
Project-declaredLean 4.33.0-rc1 · mathlib@6c5a9081e9b7

Exists pow smul integer mem span

IsNonarchimedeanLocalField.exists_pow_smul_integer_mem_span

Plain-language statement

Bounded denominators: if b is any finite K-basis of L and ϖ is a uniformiser of K, then a large enough power of ϖ multiplies every integer of L into the 𝒪[K]-lattice spanned by b. This is the key analytic input both for Module.Finite 𝒪[K] 𝒪[L] (see below) and, applied to a normal basis, for the construction of an open cohomologi...

Exact Lean statement

theorem exists_pow_smul_integer_mem_span {ι : Type*} [Finite ι] (b : Module.Basis ι K L)
    {ϖ : 𝒪[K]} (hϖ : Irreducible ϖ) :
    ∃ m : ℕ, ∀ x ∈ 𝒪[L], (ϖ : K) ^ m • x ∈ Submodule.span 𝒪[K] (Set.range b)

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
theorem exists_pow_smul_integer_mem_span {ι : Type*} [Finite ι] (b : Module.Basis ι K L)    {ϖ : 𝒪[K]} (hϖ : Irreducible ϖ) :     m : ,  x  𝒪[L], (ϖ : K) ^ m • x  Submodule.span 𝒪[K] (Set.range b) := by  have := Fintype.ofFinite ι  let : UniformSpace K := IsTopologicalAddGroup.rightUniformSpace K  let : IsUniformAddGroup K := isUniformAddGroup_of_addCommGroup (G := K)  let := rankOneOfIoo K default  let : NontriviallyNormedField K := Valued.toNontriviallyNormedField (L := K) _  have hcont : Continuous (b.equivFun : L  ι  K) :=    IsModuleTopology.continuous_of_linearMap (b.equivFun : L ₗ[K] ι  K)  have hcpt : IsCompact (𝒪[L] : Set L) :=    IsNonarchimedeanLocalField.isCompact_closedBall L 1  obtain C, hC :=    isBounded_iff_forall_norm_le.mp (hcpt.image hcont).isBounded  simp only [Module.Basis.equivFun_apply, Set.mem_image, SetLike.mem_coe, forall_exists_index,    and_imp, forall_apply_eq_imp_iff₂] at hC  obtain m, hm :  m : , ‖(ϖ : K)‖ ^ m < (max C 1)⁻¹ :=    exists_pow_lt_of_lt_one (by positivity) <| Valued.toNormedField.norm_lt_one_iff.mpr      (Valuation.integer.v_irreducible_lt_one hϖ)  refine m, fun x hx  (b.mem_span_iff_repr_mem _ _).2 fun i     ⟨⟨(ϖ : K) ^ m * b.repr x i, Valuation.mem_integer_iff _ _|>.2 <|    Valued.toNormedField.norm_le_one_iff.1 ?_, by simp⟩⟩  grw [norm_mul, norm_pow, ((norm_le_pi_norm _ i).trans (hC _ hx)).trans (le_max_left _ 1),    hm, inv_mul_cancel₀ (by positivity)]
Project
Class Field Theory
License
Apache-2.0
Commit
f18cd7fd1575
Source
ClassFieldTheory/IsNonarchimedeanLocalField/Basic.lean:361-384

Reuse this declaration

Bring the exact result into your workflow

The import identifies the source module. Your project still needs the pinned package dependency shown on this page.

What this badge means

This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.

Continue in this project

Related declarations

Project-declaredLean 4.33.0-rc1

Exists of surjective

groupCohomology.exists_of_surjective

Plain-language statement

Given map f: M ⟶ N and q : ℕ, if H^{q+1}(M) ⟶ H^{q+1}(N) is surjective, then any z : Z^{q+1}(N) can be written as f(z') + d(y) for some z' : Z^{q+1}(M) and y : C^q(M). Note that d is spelled as toCocycles.

number theoryclass field theorylocal fields

Source project: Class Field Theory

Person-level attribution pending.

View proof record