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] - chore(GroupTheory/Perm/Cycle/Basic): Split #10907

Closed
wants to merge 21 commits into from

Conversation

AntoineChambert-Loir
Copy link
Collaborator

@AntoineChambert-Loir AntoineChambert-Loir commented Feb 24, 2024

The file Mathlib.GroupTheory.Perm.Cycle.Basic was too big and this PR splits it in several components:

  • Mathlib.GroupTheory.Perm.Cycle.Basic contains everything related to a permutation being a cycle,
  • Mathlib.GroupTheory.Perm.Cycle.Factors is about the cycles of a permutation and the decomposition of a permutation into disjoint cycles
  • Mathlib.GroupTheory.Perm.Closure contains generation results for the permutation groups
  • Mathlib.GroupTheory.Perm.Finite contains general results specific to permutation of finite types

I moved some results to Mathlib.GroupTheory.Perm.Support

I also moved some results from Mathlib.GroupTheory.Perm.Sign to Mathlib.GroupTheory.Perm.Finite

Some imports could be reduced, and the shake linter required a few adjustments in some other.


Open in Gitpod

Copy link
Collaborator

@YaelDillies YaelDillies left a comment

Choose a reason for hiding this comment

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

Sorry, I'm really not convinced by this split. Please just ignore the linter in #9602 (you can edit the nolint entry). I will split the file later.

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. label Feb 24, 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. label Feb 24, 2024
@AntoineChambert-Loir AntoineChambert-Loir added the awaiting-review The author would like community review of the PR label Feb 24, 2024
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. label Feb 27, 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. label Feb 27, 2024
Copy link
Member

@jcommelin jcommelin left a comment

Choose a reason for hiding this comment

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

@YaelDillies I don't understand what is so terrible about this split. I think it is a clear improvement over the status quo, and you're of course free to improve further in the future.

Mathlib/GroupTheory/Perm/Closure.lean Outdated Show resolved Hide resolved
@riccardobrasca
Copy link
Member

@YaelDillies I don't understand what is so terrible about this split. I think it is a clear improvement over the status quo, and you're of course free to improve further in the future.

I agree that it's an improvement. I propose to merge it unless there a specific reason against it (also it risks to rot).

@jcommelin jcommelin changed the title split(Mathlib.GroupTheory.Perm.Cycle.Basic) chore: split Mathlib.GroupTheory.Perm.Cycle.Basic Feb 28, 2024
Mathlib/LinearAlgebra/Alternating/DomCoprod.lean Outdated Show resolved Hide resolved
Mathlib/GroupTheory/Perm/Sign.lean Outdated Show resolved Hide resolved
Mathlib/GroupTheory/Perm/Option.lean Outdated Show resolved Hide resolved
@YaelDillies YaelDillies changed the title chore: split Mathlib.GroupTheory.Perm.Cycle.Basic chore(GroupTheory/Perm/Cycle/Basic): Split Feb 29, 2024
Comment on lines +21 to +22
The main definition of this file is `Equiv.Perm.sign`,
associating a `ℤˣ` sign with a permutation.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
The main definition of this file is `Equiv.Perm.sign`,
associating a `ℤˣ` sign with a permutation.
The main definition of this file is `Equiv.Perm.sign`, associating a `ˣ` sign with a
permutation.

Copy link
Member

Choose a reason for hiding this comment

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

I'm personally a fan of semantic linebreaks (https://sembr.org/).

We don't have a policy in mathlib concerning sembr or justifying text. I would leave this as it is.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

(That's not the subject here, but I am used to 80 chars terminals, and I find these overflow to 100 chars very disturbing, I get many lines with few symbols, hence less information on my screen.)

Mathlib/GroupTheory/Perm/Cycle/Factors.lean Show resolved Hide resolved
Mathlib/GroupTheory/Perm/Cycle/Factors.lean Outdated Show resolved Hide resolved
Mathlib/GroupTheory/Perm/Cycle/Basic.lean Show resolved Hide resolved
Mathlib/GroupTheory/Perm/Cycle/Basic.lean Outdated Show resolved Hide resolved
Mathlib/GroupTheory/Perm/Finite.lean Outdated Show resolved Hide resolved
Mathlib/GroupTheory/Perm/Support.lean Show resolved Hide resolved
Mathlib/GroupTheory/Perm/Sign.lean Outdated Show resolved Hide resolved
Mathlib/GroupTheory/Perm/Sign.lean Outdated Show resolved Hide resolved
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 split off that split to its own PR? This one is getting out of hand

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I would prefer not to.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Reverting the change to Sign would mean finding what to move and rechecking imports. The handful of lemmas I moved were about something else than Sign — just needed for that.
IIRC, some files that used Sign could stop using it.

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

Thanks 🎉

bors merge

@github-actions github-actions bot added ready-to-merge This PR has been sent to bors. and removed awaiting-review The author would like community review of the PR labels Mar 4, 2024
mathlib-bors bot pushed a commit that referenced this pull request Mar 4, 2024
The file Mathlib.GroupTheory.Perm.Cycle.Basic was too big and this PR splits it in several components:
* `Mathlib.GroupTheory.Perm.Cycle.Basic` contains everything related to a permutation being a cycle,
* `Mathlib.GroupTheory.Perm.Cycle.Factors` is about the cycles of a permutation and the decomposition of a permutation into disjoint cycles
* `Mathlib.GroupTheory.Perm.Closure` contains generation results for the permutation groups
* `Mathlib.GroupTheory.Perm.Finite` contains general results specific to permutation of finite types

I moved some results to `Mathlib.GroupTheory.Perm.Support`

I also moved some results from `Mathlib.GroupTheory.Perm.Sign` to `Mathlib.GroupTheory.Perm.Finite`

Some imports could be reduced, and the shake linter required a few adjustments in some other.



Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr>
@mathlib-bors
Copy link

mathlib-bors bot commented Mar 4, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title chore(GroupTheory/Perm/Cycle/Basic): Split [Merged by Bors] - chore(GroupTheory/Perm/Cycle/Basic): Split Mar 4, 2024
@mathlib-bors mathlib-bors bot closed this Mar 4, 2024
@mathlib-bors mathlib-bors bot deleted the ACL/splitPermCycleBasic branch March 4, 2024 11:45
kbuzzard pushed a commit that referenced this pull request Mar 12, 2024
The file Mathlib.GroupTheory.Perm.Cycle.Basic was too big and this PR splits it in several components:
* `Mathlib.GroupTheory.Perm.Cycle.Basic` contains everything related to a permutation being a cycle,
* `Mathlib.GroupTheory.Perm.Cycle.Factors` is about the cycles of a permutation and the decomposition of a permutation into disjoint cycles
* `Mathlib.GroupTheory.Perm.Closure` contains generation results for the permutation groups
* `Mathlib.GroupTheory.Perm.Finite` contains general results specific to permutation of finite types

I moved some results to `Mathlib.GroupTheory.Perm.Support`

I also moved some results from `Mathlib.GroupTheory.Perm.Sign` to `Mathlib.GroupTheory.Perm.Finite`

Some imports could be reduced, and the shake linter required a few adjustments in some other.



Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr>
dagurtomas pushed a commit that referenced this pull request Mar 22, 2024
The file Mathlib.GroupTheory.Perm.Cycle.Basic was too big and this PR splits it in several components:
* `Mathlib.GroupTheory.Perm.Cycle.Basic` contains everything related to a permutation being a cycle,
* `Mathlib.GroupTheory.Perm.Cycle.Factors` is about the cycles of a permutation and the decomposition of a permutation into disjoint cycles
* `Mathlib.GroupTheory.Perm.Closure` contains generation results for the permutation groups
* `Mathlib.GroupTheory.Perm.Finite` contains general results specific to permutation of finite types

I moved some results to `Mathlib.GroupTheory.Perm.Support`

I also moved some results from `Mathlib.GroupTheory.Perm.Sign` to `Mathlib.GroupTheory.Perm.Finite`

Some imports could be reduced, and the shake linter required a few adjustments in some other.



Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr>
utensil pushed a commit that referenced this pull request Mar 26, 2024
The file Mathlib.GroupTheory.Perm.Cycle.Basic was too big and this PR splits it in several components:
* `Mathlib.GroupTheory.Perm.Cycle.Basic` contains everything related to a permutation being a cycle,
* `Mathlib.GroupTheory.Perm.Cycle.Factors` is about the cycles of a permutation and the decomposition of a permutation into disjoint cycles
* `Mathlib.GroupTheory.Perm.Closure` contains generation results for the permutation groups
* `Mathlib.GroupTheory.Perm.Finite` contains general results specific to permutation of finite types

I moved some results to `Mathlib.GroupTheory.Perm.Support`

I also moved some results from `Mathlib.GroupTheory.Perm.Sign` to `Mathlib.GroupTheory.Perm.Finite`

Some imports could be reduced, and the shake linter required a few adjustments in some other.



Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr>
Louddy pushed a commit that referenced this pull request Apr 15, 2024
The file Mathlib.GroupTheory.Perm.Cycle.Basic was too big and this PR splits it in several components:
* `Mathlib.GroupTheory.Perm.Cycle.Basic` contains everything related to a permutation being a cycle,
* `Mathlib.GroupTheory.Perm.Cycle.Factors` is about the cycles of a permutation and the decomposition of a permutation into disjoint cycles
* `Mathlib.GroupTheory.Perm.Closure` contains generation results for the permutation groups
* `Mathlib.GroupTheory.Perm.Finite` contains general results specific to permutation of finite types

I moved some results to `Mathlib.GroupTheory.Perm.Support`

I also moved some results from `Mathlib.GroupTheory.Perm.Sign` to `Mathlib.GroupTheory.Perm.Finite`

Some imports could be reduced, and the shake linter required a few adjustments in some other.



Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge This PR has been sent to bors.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants