Zulip Chat Archive
Stream: Is there code for X?
Topic: InfiniteAdeleRing is a real algebra
William Coram (Dec 09 2025 at 12:13):
As part of the FLT project I need the following sorry filled:
import Mathlib
variable (K : Type*) [Field K] [NumberField K]
variable (D : Type*) [DivisionRing D] [Algebra K D]
local instance : Algebra ℝ (D ⊗[K] (NumberField.InfiniteAdeleRing K)) := by
sorry
I had hoped to use something like Algebra.TensorProduct.leftAlgebra to reduce this to showing the InfiniteAdeleRing K is a -algebra. But this causes two problems:
Firstly, I cannot find a similar statement to Algebra.TensorProduct.leftAlgebra for right algebras, namely Algebra.TensorProduct.rightAlgebra exists but has - is this due to the set up of Tensor products, or is some API missing?
Secondly, is there an existing result for saying the infinite adele ring is an -algebra? I have not been able to find it and Kevin thinks it would be surprising if this doesn't already exist.
Any help would be appreciated.
Ruben Van de Velde (Dec 09 2025 at 13:22):
2) Loogle says there are only 15 declarations about docs#NumberField.InfiniteAdeleRing, and docs#NumberField.InfiniteAdeleRing.instAlgebra is the only one that's even slightly related as far as I can tell
Kevin Buzzard (Dec 09 2025 at 15:49):
Huh, that's definitely no good, that's the -algebra structure. Another way of thinking about the question mathematically: the -algebra structure on the tensor product is coming from an -algebra structure on NumberField.InfiniteAdeleRing K and another definition of this type would be , so the -algebra structure is precisely the "opposite" of the (existing) -algebra structure.
For Algebra.TensorProduct.rightAlgebra FLT can proudly offer you the mathlib-unapproved open scoped TensorProduct.RightActions whereupon it should happen magically.
William Coram (Dec 09 2025 at 18:08):
Kevin Buzzard said:
For
Algebra.TensorProduct.rightAlgebraFLT can proudly offer you the mathlib-unapprovedopen scoped TensorProduct.RightActionswhereupon it should happen magically.
I am not convinced the TensorProduct.RightActions file has exactly what we want.
e.g.
scoped instance : Algebra S (B ⊗[R] S) where ...
which is exactly the statement of Algebra.TensorProduct.rightAlgebra.
Similarly, I cannot use
def Algebra.TensorProduct.comm : A ⊗[R] B ≃ₐ[A] B ⊗[R] A where ...
as the algebra equivalence is over A - which is not in the case we need.
Perhaps, I am missing something ?
William Coram (Dec 11 2025 at 14:30):
As part of FLT we have concocted the following instance of InfiniteAdeleRing being an -algebra.
import Mathlib
open NumberField InfiniteAdeleRing
variable (K : Type*) [Field K] [NumberField K]
noncomputable instance : Algebra ℝ (InfiniteAdeleRing K) :=
(ringEquiv_mixedSpace K|>.symm.toRingHom.comp (algebraMap ℝ _)).toAlgebra
Does this seem acceptable? Or is there a chance this could cause problems?
Last updated: Dec 20 2025 at 21:32 UTC