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

[Merged by Bors] - feat(NumberField/CanonicalEmbedding): Define the fundamental cone for the action of the units of a number field #12268

Closed
wants to merge 65 commits into from

Conversation

xroblot
Copy link
Collaborator

@xroblot xroblot commented Apr 19, 2024

Let K be a number field of signature (r₁, r₂). This PR defines the fundamental cone: it is a cone in the mixed space that is a fundamental domain for the action of (𝓞 K)ˣ modulo torsion.

In a later PR #12333, we prove that points in the fundamental cone coming from (𝓞 K) modulo torsion are in a norm-preserving correspondence with the non-zero principal ideals of (𝓞 K).

This PR is part of the proof of the Analytic Class Number Formula.


Open in Gitpod

@xroblot xroblot changed the title feat: Define the fundamental cone for the action of the units of a number field feat(NumberField/CanonicalEmbedding): Define the fundamental cone for the action of the units of a number field Apr 19, 2024
@xroblot xroblot added WIP Work in progress t-number-theory Number theory (also use t-algebra or t-analysis to specialize) labels Apr 19, 2024
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the blocked-by-other-PR This PR depends on another PR to Mathlib (this label is automatically managed by a bot) label Apr 19, 2024
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) and removed blocked-by-other-PR This PR depends on another PR to Mathlib (this label is automatically managed by a bot) labels Apr 22, 2024
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Apr 22, 2024
@xroblot xroblot added awaiting-review awaiting-CI and removed WIP Work in progress labels Apr 29, 2024
@xroblot xroblot added WIP Work in progress and removed awaiting-review labels Apr 29, 2024
@xroblot
Copy link
Collaborator Author

xroblot commented Apr 29, 2024

I changed this back to WIP because I think I might need to change a bit the definition of the fundamental cone.

xroblot and others added 5 commits September 17, 2024 10:32
…lCone.lean

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…lCone.lean

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Copy link
Member

@riccardobrasca riccardobrasca left a comment

Choose a reason for hiding this comment

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

Thanks!

bors d+

theorem logEmbedding_fundSystem (i : Fin (rank K)) :
logEmbedding K (fundSystem K i) = basisUnitLattice K i := by
rw [basisUnitLattice, Basis.map_apply, ← fundSystem_mk, ← logEmbeddingEquiv_apply]
rfl
Copy link
Member

Choose a reason for hiding this comment

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

This and the previous one end with rfl. Are we missing some lemmas here?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes, it is a bit of a mystery to me. I think we're missing something like Additive.toMul x = Additive.toMul y → x = y and similar results (whose proofs is essentially rfl too) but I am not sure they're worth adding. The mess in fundSystem_mk comes also from the fact that there are two kinds of Additive.toMul involved...

Copy link
Member

@riccardobrasca riccardobrasca Sep 17, 2024

Choose a reason for hiding this comment

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

I have the impression you are abusing defeq: logEmbedding takes a term of type Additive (𝓞 K)ˣ, but you are giving it fundSystem K i, which has type (𝓞 K)ˣ. Can we fix this somehow?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yeah, you're right. I am probably a bit sloppy with my use of Additive. I'll see if I can fix that

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

All right, I think I took of all the abuses of defeq. There was a lot of Additive.ofMul missing but also the use ⟦x⟧ rather than QuotientGroup.mk x to go from (𝓞 K)ˣ to ((𝓞 K)ˣ ⧸ (torsion K)) that resulted in a wrongly typed quotient.

@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Sep 17, 2024

✌️ xroblot can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@xroblot xroblot added the WIP Work in progress label Sep 17, 2024
@xroblot xroblot added awaiting-CI and removed WIP Work in progress labels Sep 17, 2024
@riccardobrasca
Copy link
Member

LGTM. If there is still something to be fixed we can do it later. Thanks!

bors merge

@github-actions github-actions bot added the ready-to-merge This PR has been sent to bors. label Sep 17, 2024
@bryangingechen
Copy link
Contributor

This one seems to have fallen off the queue when bors crashed (not your fault).
bors r+

Just in case something happens again:
bors d+

@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Sep 17, 2024

✌️ xroblot can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

mathlib-bors bot pushed a commit that referenced this pull request Sep 17, 2024
… the action of the units of a number field (#12268)

Let `K` be a number field of signature `(r₁, r₂)`. This PR defines the fundamental cone: it is a cone in the mixed space that is a fundamental domain for the action of `(𝓞 K)ˣ` modulo torsion. 

In a later PR #12333, we prove that points in the fundamental cone coming from `(𝓞 K)` modulo torsion are in a norm-preserving correspondence with the non-zero principal ideals of `(𝓞 K)`. 

This PR is part of the proof of the Analytic Class Number Formula. 



Co-authored-by: Xavier Roblot <[email protected]>
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Sep 17, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(NumberField/CanonicalEmbedding): Define the fundamental cone for the action of the units of a number field [Merged by Bors] - feat(NumberField/CanonicalEmbedding): Define the fundamental cone for the action of the units of a number field Sep 17, 2024
@mathlib-bors mathlib-bors bot closed this Sep 17, 2024
@mathlib-bors mathlib-bors bot deleted the xfr_fundamental_cone_def branch September 17, 2024 20:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delegated ready-to-merge This PR has been sent to bors. t-number-theory Number theory (also use t-algebra or t-analysis to specialize)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants