FLT/NumberField/InfiniteAdeleRing.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned project documentation, Pinned FLT blueprint introduction
10 declarations, 0 contain sorry, 0 declared as axioms
Base change for the infinite adele ring
If v is an infinite place of a number field K, we have established in
FLT.NumberField.Completion.Infinite a continuous L-algebra homomorphism
NumberField.InfinitePlace.Completion.baseChangeEquiv : L ⊗[K] K_v ≃A[L] ∏ w ∣ v, L_w where the
product is over all infinite places w of L lying above v.
In this file we analogously establish the base change for the infinite adele ring
NumberField.InfiniteAdeleRing.baseChangeEquiv : L ⊗[K] K_∞ ≃A[L] L_∞ where K_∞ is the
infinite adele ring of K and L_∞ that of L. There are two approaches:
(1) Piece together the local results on completions at infinite places to get a global result on
infinite adele rings.
(2) Follow the same path as that of the local result by establishing K∞ → L∞ and lifting it to a
base change.
In this file we favour approach (1) because it bundles bijectivity and avoids having to
reprove it. Regardless, we show that they are actually the same map in
NumberField.InfiniteAdeleRing.baseChangeAlgEquiv_apply.
Diamonds
Global instances of the form Algebra K L → Algebra (f K) (f L) are avoided in this file. For
example we do not define
instance [Algebra K L] : Algebra K∞ L∞ := ...This is to prevent diamonds when K = K which was observed to cause timeouts in other files in
a previous version of the repository. Instead, we add the Algebra K∞ L∞ assumption explicitly
where needed.
This is in contrast to FLT.NumberField.Completion.Infinite where we do define such
global instances Algebra v.Completion wv.1.Completion, but those are safe because
wv : v.Extension L has a separate type to w : InfinitePlace L so no diamonds can arise.
However, we still need to make sure that the abstract K∞-algebra structure on L∞ agrees with
the local structures which are already defined. This is provided by the compatibility typeclass
Pi.FiberwiseSMul (fun a => a.comap (algebraMap K L)) Completion Completion which guarantees
exactly this. Hence this also appears as an assumption where needed.
The desired instances are constructed later as scoped instances in FLT.NumberField.AdeleRing.
Main definitions:
NumberField.InfiniteAdeleRing.baseChange: the canonical map fromK∞toL∞.NumberField.InfiniteAdeleRing.piEquiv: theK∞-linear homeomorphismK∞^[L:K] ≃[K∞] L∞.NumberField.InfiniteAdeleRing.baseChangeAlgEquiv: theL-algebra isomorphismL ⊗[K] K∞ ≃ₐ[L] L∞. Note that this does not requireAlgebra K∞ L∞orPi.FiberwiseSMul ...assumptions.NumberField.InfiniteAdeleRing.baseChangeEquiv: theL-algebra homeomorphismL ⊗[K] K∞ ≃A[L] L∞induced bybaseChange. This requires theAlgebra K∞ L∞andPi.FiberwiseSMul ...assumptions to ensure the correctK∞-module topology onL∞.
Imports (8)
- FLT.NumberField.Completion.Infinite
- FLT.Mathlib.Topology.Algebra.Module.Equiv
- FLT.Mathlib.Topology.Constructions
- FLT.Mathlib.Topology.Algebra.Algebra.Hom
- Mathlib.NumberTheory.NumberField.InfiniteAdeleRing
- Mathlib.RingTheory.TensorProduct.Pi
- FLT.Mathlib.NumberTheory.NumberField.InfiniteAdeleRing
- Mathlib.RingTheory.SimpleRing.Principal
Imported by 2 files
- def
NumberField.InfiniteAdeleRing.baseChangeThe canonical map from the infinite adeles of K to the infinite adeles of L line 84 sourceSource documentation
The canonical map from the infinite adeles of K to the infinite adeles of L
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra, ContinuousSemialgHom,Algebra.algebraMap,NumberField.InfiniteAdeleRingProof uses: SemialgHom,
NumberField.InfinitePlace,NumberField.InfinitePlace.Completion,Real,Subtype, Pi.semialgHomPi,NumberField.InfinitePlace.comap, NumberField.InfinitePlace.Completion.comapHom,ContinuousSemialgHom.mk26 instances, coercions and auxiliary constants left out.
noncomputable def baseChange : K∞ →SA[algebraMap K L] L∞ where … - theorem
NumberField.InfiniteAdeleRing.baseChange_applyline 90 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,NumberField.InfiniteAdeleRing,NumberField.InfinitePlace,Eq,NumberField.InfinitePlace.Completion, ContinuousSemialgHom,Algebra.algebraMap, NumberField.InfiniteAdeleRing.baseChange, SemialgHom,NumberField.InfinitePlace.comap,Real,AbsoluteValue,Exists,RingHom,Complex,NumberField.place, NumberField.InfinitePlace.Completion.comapHom,rfl33 instances, coercions and auxiliary constants left out.
- instance
NumberField.InfiniteAdeleRing.(instance at line 95)line 95 source - def
NumberField.InfiniteAdeleRing.piEquivThe $K_{\infty}$-linear homeomorphism $K_{\infty}^{[L:K]} \cong L_{\infty}$ line 106 sourceSource documentation
The $K_{\infty}$-linear homeomorphism $K_{\infty}^{[L:K]} \cong L_{\infty}$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,NumberField,NumberField.InfiniteAdeleRing, Pi.FiberwiseSMul,NumberField.InfinitePlace,NumberField.InfinitePlace.comap,Algebra.algebraMap,NumberField.InfinitePlace.Completion,Subtype,Eq,NumberField.LiesOver.instAlgebraCompletion,ContinuousLinearEquiv,RingHom.id,Fin,Module.finrankProof uses:
ContinuousLinearEquiv.trans,ContinuousLinearEquiv.symm, ContinuousLinearEquiv.piScalarPiComm, ContinuousLinearEquiv.piScalarPiCongrFiberwise, NumberField.InfinitePlace.Extension, NumberField.InfinitePlace.Completion.piEquiv53 instances, coercions and auxiliary constants left out.
noncomputable def piEquiv [Algebra K∞ L∞] [Pi.FiberwiseSMul (fun a : InfinitePlace L => a.comap (algebraMap K L)) Completion Completion] : (Fin (Module.finrank K L) → K∞) ≃L[K∞] L∞ := …Mentions: Pi.FiberwiseSMul
- instance
NumberField.InfiniteAdeleRing.instIsModuleTopology_fLTline 115 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,NumberField,NumberField.InfiniteAdeleRing, Pi.FiberwiseSMul,NumberField.InfinitePlace,NumberField.InfinitePlace.comap,Algebra.algebraMap,NumberField.InfinitePlace.Completion,Subtype,Eq,NumberField.LiesOver.instAlgebraCompletion,IsModuleTopologyProof uses:
IsModuleTopology.iso,Fin,Module.finrank, NumberField.InfiniteAdeleRing.piEquiv46 instances, coercions and auxiliary constants left out.
- def
NumberField.InfiniteAdeleRing.baseChangeAlgEquivThe $L$-algebra isomorphism $L\otimes_K K_{\infty} \cong L_{\infty}$ line 125 sourceSource documentation
The $L$-algebra isomorphism $L\otimes_K K_{\infty} \cong L_{\infty}$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,NumberField,AlgEquiv,TensorProduct,NumberField.InfiniteAdeleRingProof uses:
AlgEquiv.trans,NumberField.InfinitePlace,NumberField.InfinitePlace.Completion,Real,Subtype,Algebra.TensorProduct.piRight,Classical.propDecidable,Eq,AlgEquiv.symm,AbsoluteValue,Exists,RingHom,Complex,NumberField.place, AlgEquiv.piCongrFiberwise,NumberField.InfinitePlace.comap,Algebra.algebraMap, NumberField.InfinitePlace.Extension,ContinuousAlgEquiv.toAlgEquiv, NumberField.InfinitePlace.Completion.baseChangeEquiv54 instances, coercions and auxiliary constants left out.
noncomputable def baseChangeAlgEquiv : L ⊗[K] K∞ ≃ₐ[L] L∞ := … - theorem
NumberField.InfiniteAdeleRing.baseChangeAlgEquiv_tmulline 133 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,NumberField,NumberField.InfiniteAdeleRing,Eq,AlgEquiv,TensorProduct, NumberField.InfiniteAdeleRing.baseChangeAlgEquiv,TensorProduct.tmul,HMul.hMul,RingHom,Algebra.algebraMap, ContinuousSemialgHom, NumberField.InfiniteAdeleRing.baseChangeProof uses:
rfl35 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- instance
NumberField.InfiniteAdeleRing.(instance at line 137)line 137 source - instance
NumberField.InfiniteAdeleRing.(instance at line 151)line 151 sourceSource documentation
Take two arbitrary
Algebra K L∞andAlgebra K∞ L∞instances. Assume thatAlgebra K L∞factors through (existing)Algebra K LandAlgebra L L∞. Assume further thatAlgebra K∞ L∞is determined by the fibers of restriction of infinite places ofLtoKvia (x • y) v = x (v.comap (algebraMap K L)) • y v. Then theLalgebra base change map is also linear inK∞.instance [Algebra K∞ L∞] [Pi.FiberwiseSMul (fun a => a.comap (algebraMap K L)) Completion Completion] : IsBiscalar L K∞ (baseChangeAlgEquiv K L).toAlgHom where …Mentions: Pi.FiberwiseSMul, IsBiscalar, NumberField.InfiniteAdeleRing.baseChangeAlgEquiv
- def
NumberField.InfiniteAdeleRing.baseChangeEquivline 171 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,NumberField,NumberField.InfiniteAdeleRing, Pi.FiberwiseSMul,NumberField.InfinitePlace,NumberField.InfinitePlace.comap,Algebra.algebraMap,NumberField.InfinitePlace.Completion,Subtype,Eq,NumberField.LiesOver.instAlgebraCompletion,ContinuousAlgEquiv,TensorProduct,TensorProduct.RightActions.instTopologicalSpaceOfFinite_fLTProof uses: IsModuleTopology.continuousAlgEquivOfIsBiscalar,
TensorProduct.RightActions.instAlgebra_fLT, NumberField.InfiniteAdeleRing.baseChangeAlgEquiv45 instances, coercions and auxiliary constants left out.