[Merged by Bors] - feat(GroupTheory/IndexNormal): subgroups of small index are normal#21186
Closed
AntoineChambert-Loir wants to merge 15 commits intomasterfrom
Closed
[Merged by Bors] - feat(GroupTheory/IndexNormal): subgroups of small index are normal#21186AntoineChambert-Loir wants to merge 15 commits intomasterfrom
AntoineChambert-Loir wants to merge 15 commits intomasterfrom
Conversation
PR summary 2f870c8233Import changes exceeding 2%
|
| File | Base Count | Head Count | Change |
|---|---|---|---|
| Mathlib.Data.Nat.Prime.Factorial | 297 | 385 | +88 (+29.63%) |
Import changes for all files
| Files | Import difference |
|---|---|
Mathlib.Data.Nat.Choose.Dvd |
63 |
Mathlib.Data.Nat.Prime.Factorial |
88 |
Mathlib.Data.Finite.Perm (new file) |
737 |
Mathlib.GroupTheory.IndexNormal (new file) |
840 |
Declarations diff
+ card_perm
+ coprime_factorial_iff
+ normal_of_index_eq_minFac_card
+ normal_of_index_eq_one
+ normal_of_index_eq_two
You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>
## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>The doc-module for script/declarations_diff.sh contains some details about this script.
No changes to technical debt.
You can run this locally as
./scripts/technical-debt-metrics.sh pr_summary
- The
relativevalue is the weighted sum of the differences with weight given by the inverse of the current value of the statistic. - The
absolutevalue is therelativevalue divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).
1 task
tb65536
reviewed
Jan 28, 2025
tb65536
reviewed
Jan 28, 2025
tb65536
reviewed
Jan 28, 2025
Co-authored-by: Thomas Browning <tb65536@users.noreply.github.com>
tb65536
reviewed
Jan 28, 2025
tb65536
reviewed
Jan 28, 2025
Contributor
tb65536
left a comment
There was a problem hiding this comment.
Here's a golf:
/-- A subgroup of a finite group whose index is the smallest prime factor is normal -/
theorem normal_of_index_eq_smallest_prime_factor
(hHp : H.index = (Nat.card G).minFac) :
H.Normal := by
by_cases hG0 : Nat.card G = 0
· rw [hG0, minFac_zero] at hHp
exact normal_of_index_eq_two hHp
by_cases hG1 : Nat.card G = 1
· rw [hG1, minFac_one] at hHp
exact normal_of_index_eq_one hHp
suffices H.normalCore.relindex H = 1 by
convert H.normalCore_normal
exact le_antisymm (relindex_eq_one.mp this) (normalCore_le H)
have : Finite G := finite_of_card_ne_zero hG0
have index_ne_zero : H.index ≠ 0 := index_ne_zero_of_finite
rw [← mul_left_inj' index_ne_zero, one_mul, relindex_mul_index H.normalCore_le]
have hp : Nat.Prime H.index := hHp ▸ minFac_prime hG1
have hp' {l : ℕ} (h1 : l.Prime) (h2 : l ∣ H.normalCore.index) : H.index ≤ l :=
hHp ▸ minFac_le_of_dvd h1.two_le (h2.trans H.normalCore.index_dvd_card)
have h : H.normalCore.index ∣ H.index ! := by
rw [normalCore_eq_ker, index_ker, index_eq_card, ← Nat.card_perm]
exact card_subgroup_dvd_card (toPermHom G (G ⧸ H)).range
exact dvd_antisymm (dvd_prime hp h hp') (index_dvd_of_le H.normalCore_le)
tb65536
reviewed
Jan 28, 2025
tb65536
reviewed
Jan 28, 2025
Co-authored-by: Thomas Browning <tb65536@users.noreply.github.com>
alreadydone
reviewed
Jan 29, 2025
Co-authored-by: Junyan Xu <junyanxu.math@gmail.com>
YaelDillies
reviewed
Jan 30, 2025
b-mehta
reviewed
Jan 30, 2025
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
tb65536
reviewed
Jan 30, 2025
YaelDillies
approved these changes
Jan 30, 2025
Contributor
YaelDillies
left a comment
There was a problem hiding this comment.
Thanks!
maintainer delegate
|
🚀 Pull request has been placed on the maintainer queue by YaelDillies. |
Contributor
|
bors d+ |
Contributor
|
✌️ AntoineChambert-Loir can now approve this pull request. To approve and merge a pull request, simply reply with |
Collaborator
Author
|
bors r+ |
mathlib-bors bot
pushed a commit
that referenced
this pull request
Jan 31, 2025
…21186) * `Subgroup.normal_of_index_eq_smallest_prime_factor`: in a finite group `G`, a subgroup of index equal to the smallest prime factor of `Nat.card G` is normal. * `Subgroup.normal_of_index_two`: in a group `G`, a subgroup of index 2 is normal (This does not require `G` to be finite.)
Contributor
|
Pull request successfully merged into master. Build succeeded: |
Julian
added a commit
that referenced
this pull request
Feb 2, 2025
* factorial-dvd-int: (143 commits) Apply suggestions from code review feat(Factorial): k! divides the product of any k successive integers feat(CategoryTheory): creation of finite limits (#21320) chore: update Mathlib dependencies 2025-02-01 (#21328) chore(GroupTheory/SpecificGroups/Alternating.lean): follow last minute review of JX (#21314) feat: `‖x‖ₑ.toNNReal = ‖x‖₊` (#21306) chore: cleanup imports in Archive/IfNormalization (#21318) doc: fix several typos (#21315) feat(CategoryTheory): transfer being iso along an iso in the arrow category (#21310) chore: delete declarations deprecated between 2024-01 and 2024-07 (#21271) feat(Analysis/Normed/Module/Dual): polar in a normed space as a submodule (#20084) chore(Data/ZMod/Basic): split `ZMod.valMinAbs` off (#21308) feat(GroupTheory/Perm/Centralizer): study the centralizer of a permutation (#17522) feat(RingTheory/LocalRing): `IsLocalRing` for subrings (#21168) chore: update Mathlib dependencies 2025-02-01 (#21312) chore: update Mathlib dependencies 2025-01-31 (#21311) feat: generalize `mem_dite` to `Membership α β` (#21262) feat: Lemmas for some monomial orders (#16177) feat(CategoryTheory): the localized category is monoidal (#12728) feat: add function log⁺ (=positive part of the logarithm) and prove standard estimates (#21289) feat(RingTheory/WittVector): ring of Witt vectors is p-adically complete (#21295) feat(GroupTheory/GroupAction/Blocks): more on blocks (#21284) fix(FieldTheory/KrullTopology): make `krullTopology_discreteTopology_of_finiteDimensional` universe polymorphic (#21299) feat(RingTheory/Artinian): integral non-zero-divisors are units over artinian rings (#21199) refactor(Topology/Gluing): simplify definition of `TopCat.GlueData.Rel` (#20653) feat(RingTheory/PowerSeries): binomial series (#20192) chore(Mathlib/RingTheory/MvPolynomial): rename MonomiaOrder.lCoeff to MonomialOrder.leadingCoeff (#21290) chore (RingTheory/HahnSeries): fix names that use coeff (#21279) feat: let `notation3` distinguish `Prop` vs `Type _ ` vs `Sort _` (#21233) chore(MeasureTheory/Function/StronglyMeasurable): split Basic into Basic and AEStronglyMeasurable (#21273) feat(CategoryTheory): the monoidal category structure on a localization (#20951) feat(Analysis/Complex/Hadamard): generalize Hadamard's three lines theorem (#15009) feat(Order/CompleteBooleanAlgebra): Himp in terms of sSup (#20328) feat(ENNReal/Basic): add `ofNat_ne_top` and `top_ne_ofNat` (#14486) feat: Function.const as a PartialEquiv (#21137) chore(NonZeroDivisors): don't import rings (#20871) feat(Data/Set/Lattice): insert distributivity with iUnion/iInter (#21267) feat(GroupTheory/SpecificGroups/AlternatingGroup): subgroups of index 2 of Equiv.Perm (#21190) feat(GroupTheory/GroupAction/Transitive): basic results on transitive actions (#21285) perf(MeasureTheory/Function/LpSpace.lean): speed up (#21179) feat(Order): order isomorphisms from `Fin n` for small `n` (#21120) refactor(Topology/Group): turn morphisms in ProfiniteGrp into one field structures (#20740) feat: Sylow's first theorem for elementary `p`-groups (#21072) chore(Submonoid/Membership): don't import `MonoidWithZero` (#20748) refactor(Algebra/Algebra/Pi): cleanup and renaming (#21213) feat(GroupTheory/IndexNormal): subgroups of small index are normal (#21186) feat(Algebra/Group/Action): add definition of equidecomposition (#16936) feat(CategoryTheory/Subpresheaf): equalizer (#21096) feat: add lemmas about products of `Matrix.stdBasisMatrix` (#21204) chore: update Mathlib dependencies 2025-01-31 (#21282) ...
jt496
pushed a commit
that referenced
this pull request
Feb 3, 2025
…21186) * `Subgroup.normal_of_index_eq_smallest_prime_factor`: in a finite group `G`, a subgroup of index equal to the smallest prime factor of `Nat.card G` is normal. * `Subgroup.normal_of_index_two`: in a group `G`, a subgroup of index 2 is normal (This does not require `G` to be finite.)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Subgroup.normal_of_index_eq_smallest_prime_factor: in a finite groupG,a subgroup of index equal to the smallest prime factor of
Nat.card Gis normal.Subgroup.normal_of_index_two: in a groupG, a subgroup of index 2 is normal(This does not require
Gto be finite.)