All proofs
Project-declaredLean 4.32.0 Β· mathlib@249c48c2

Tensor Adic Completion Integers To is Clopen range

IsDedekindDomain.HeightOneSpectrum.tensorAdicCompletionIntegersTo_isClopen_range

Plain-language statement

The image of B βŠ—[A] π“ž_v in L βŠ—[K] K_v is clopen.

Exact Lean statement

lemma tensorAdicCompletionIntegersTo_isClopen_range
    [IsIntegralClosure B A L] [FiniteDimensional K L] :
    IsClopen (SetLike.coe (tensorAdicCompletionIntegersTo K L B v).range)

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
lemma tensorAdicCompletionIntegersTo_isClopen_range    [IsIntegralClosure B A L] [FiniteDimensional K L] :    IsClopen (SetLike.coe (tensorAdicCompletionIntegersTo K L B v).range) := by  -- `B βŠ—[A] π’ͺ_v` is a subgroup of `L βŠ—[K] K_v`, so we can show it's closed  -- by showing that it's open. **TODO** split into IsOpen + IsClosed lemmas?  have : SeparatelyContinuousAdd (L βŠ—[K] v.adicCompletion K) :=    instSeparatelyContinuousAddOfContinuousAdd  rw [← Subalgebra.coe_toSubring, ← Subring.coe_toAddSubgroup]  refine OpenAddSubgroup.isClopen ⟨_, ?_⟩  -- Further, we can show `B βŠ—[A] π’ͺ_v` is open by showing that it contains an  -- open neighbourhood of 0.  apply AddSubgroup.isOpen_of_zero_mem_interior  rw [mem_interior, Subring.coe_toAddSubgroup, Subalgebra.coe_toSubring]  -- Take a basis `b` of `L` over `K` with elements in `B` and use it to  -- get a basis `b'` of `L βŠ—[K] K_v` over `K_v`.  obtain ⟨ι, b, hb⟩ := FiniteDimensional.exists_is_basis_integral A K L  let b' : Module.Basis ΞΉ (adicCompletion K v) (L βŠ—[K] (adicCompletion K v)) := by    classical    exact b.rightBaseChange L  -- Use the basis to get a continuous equivalence from `L βŠ—[K] K_v` to `ΞΉ β†’ K_v`.  let equiv : L βŠ—[K] (adicCompletion K v) ≃L[v.adicCompletion K] (ΞΉ β†’ adicCompletion K v) :=    IsModuleTopology.continuousLinearEquiv (b'.equivFun)  -- Use the preimage of `∏ π’ͺ_v` as the open neighbourhood.  use equiv.symm '' (Set.pi Set.univ (fun _ => SetLike.coe (adicCompletionIntegers K v)))  refine ⟨?_, ?_, by simp⟩  Β· intro t ⟨g, hg, ht⟩    -- We have `t = equiv g = βˆ‘ i, b i βŠ— g i`, since `g in ∏ π’ͺ_v` and    -- `b i ∈ (algebraMap B L).range`, this is `tensorAdicCompletionTo`    -- of some element of `B βŠ—[A] π’ͺ_v`    have hf : βˆ€ (i : ΞΉ), βˆƒ (w : B), (algebraMap B L w) = (b i) := by      intro i      apply IsIntegralClosure.isIntegral_iff.mp (hb i)    choose f hf_prop using hf    let b : B βŠ—[A] β†₯(adicCompletionIntegers K v) := βˆ‘ (i : ΞΉ), (f i) βŠ—β‚œ ⟨g i, hg i trivial⟩    use b    rw [AlgHom.toRingHom_eq_coe, RingHom.coe_coe, map_sum, ← ht]    unfold equiv    rw [IsModuleTopology.continuousLinearEquiv_symm_apply, Module.Basis.equivFun_symm_apply]    apply Finset.sum_congr rfl    intro x    simp only [Finset.univ_eq_attach, Finset.mem_attach, tensorAdicCompletionIntegersTo_tmul,      hf_prop, Module.Basis.rightBaseChange_apply, Algebra.smul_def,      TensorProduct.RightActions.algebraMap_eval, Algebra.TensorProduct.tmul_mul_tmul, one_mul,      mul_one, imp_self, b']  Β· rw [ContinuousLinearEquiv.image_symm_eq_preimage]    apply IsOpen.preimage equiv.continuous    apply isOpen_set_pi Set.finite_univ    rintro i -    exact Valued.isOpen_valuationSubring (v.adicCompletion K)
Project
Fermat's Last Theorem
License
Apache-2.0
Commit
8dd808888295
Source
FLT/DedekindDomain/Completion/BaseChange.lean:435-483

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.32.0

Eq finsum quotient out of bij On

AbstractHeckeOperator.eq_finsum_quotient_out_of_bijOn'

Plain-language statement

If a is fixed by V then βˆ‘αΆ  g ∈ s, g β€’ a is independent of the choice s of coset representatives in G for a subset of G β§Έ V

number theoryarithmetic geometryFermat's Last Theorem

Source project: Fermat's Last Theorem

Person-level attribution pending.

View proof record
Project-declaredLean 4.32.0

Comm Group no compact automorphisms

CommGroup.no_compact_automorphisms

Plain-language statement

A connected compact Hausdorff abelian topological group does not admit a nontrivial compact group of automorphisms.

number theoryarithmetic geometryFermat's Last Theorem

Source project: Fermat's Last Theorem

Person-level attribution pending.

View proof record