Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue #259: A_K/K is compact if A_Q/Q is compact #315

Merged
merged 18 commits into from
Feb 8, 2025

Conversation

smmercuri
Copy link
Contributor

@smmercuri smmercuri commented Jan 20, 2025

Closes #259

@kbuzzard
Copy link
Collaborator

kbuzzard commented Feb 2, 2025

Is this still WIP? Note that ContinuousAlgEquiv was merged into mathlib a while ago and we've updated FLT since then. You also edited this file in #312 and I fixed the conflicts there, but the file you're editing here is long gone.

@smmercuri
Copy link
Contributor Author

This one is still WIP although nearly there, I'll let you know when it's ready for review again

@smmercuri
Copy link
Contributor Author

This is now ready to review again

Copy link
Collaborator

@kbuzzard kbuzzard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot! My comments are only trivial so I'll just merge and fix them myself. You should also update the LaTeX.

Comment on lines +7 to +8
letI := (f.toAlgHom.restrictDomain B).toRingHom.toAlgebra
C ≃ₐ[B] D where
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this def actually usable? If D is already a B-algebra then this will cause a diamond perhaps. But maybe it's fine?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah you have to be careful with this one. In this PR it's used in

-- `𝔸 K ⊗[K] L ≃ₗ[𝔸 K] L ⊗[K] 𝔸 K`
let comm := (Algebra.TensorProduct.comm K (𝔸 K) L).extendScalars (𝔸 K) |>.toLinearEquiv

Which works because Algebra.TensorProduct.rightAlgebra on the RHS defeqs to Algebra.TensorProduct.includeRight.toRingHom.toAlgebra and includeRight is TensorProduct.comm.restrictDomain 𝔸 K. But the other way around

let comm := (Algebra.TensorProduct.comm K L (𝔸 K)).extendScalars (𝔸 K) |>.toLinearEquiv

causes issues. Note that AlgHom.extendScalars in mathlib is the same in this respect. Maybe the right way to state this is to add [Algebra B D] and some kind of CompatibleSMul instance?

Comment on lines +7 to +13
def QuotientAddGroup.continuousAddEquiv (G H : Type*) [AddCommGroup G] [AddCommGroup H] [TopologicalSpace G]
[TopologicalSpace H] (G' : AddSubgroup G) (H' : AddSubgroup H) [G'.Normal] [H'.Normal]
(e : G ≃ₜ+ H) (h : AddSubgroup.map e G' = H') :
G ⧸ G' ≃ₜ+ H ⧸ H' :=
(Submodule.Quotient.continuousLinearEquiv _ _ (AddSubgroup.toIntSubmodule G')
(AddSubgroup.toIntSubmodule H') e.toIntContinuousLinearEquiv
(congrArg AddSubgroup.toIntSubmodule h)).toContinuousAddEquiv
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably all his should be done for CommGroup and then @[to_additive]d.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, is there a reason why you went for map e G' = H? I would have thought that comap e H' = G' was easier to work with, because it has better definitional properties (the definition of map uses image so has an exists in, but the definition of comap uses preimage so doesn't).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No particular reason other than using Submodule.Quotient.equiv as a model. It sounds like comap would be better!

{y : Fin (Module.finrank K L) → K}
(h : ∀ i, algebraMap K (𝔸 K) (y i) = x i) :
piEquiv K L x = algebraMap L _ (Module.Finite.equivPi _ _ |>.symm y) := by
simp [← funext h]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you squeeze the simp?

@kbuzzard kbuzzard merged commit 8c155da into ImperialCollegeLondon:main Feb 8, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

A_K / K is compact for K a number field
2 participants