Skip to content

Commit

Permalink
more
Browse files Browse the repository at this point in the history
  • Loading branch information
YaelDillies committed Jan 15, 2025
1 parent c907204 commit c3aa245
Show file tree
Hide file tree
Showing 6 changed files with 71 additions and 71 deletions.
2 changes: 1 addition & 1 deletion Mathlib.lean
Original file line number Diff line number Diff line change
Expand Up @@ -3234,7 +3234,7 @@ import Mathlib.GroupTheory.ArchimedeanDensely
import Mathlib.GroupTheory.ClassEquation
import Mathlib.GroupTheory.Commensurable
import Mathlib.GroupTheory.Commutator.Basic
import Mathlib.GroupTheory.Commutator.Finite
import Mathlib.GroupTheory.Commutator.Lemmas
import Mathlib.GroupTheory.CommutingProbability
import Mathlib.GroupTheory.Complement
import Mathlib.GroupTheory.Congruence.Basic
Expand Down
34 changes: 0 additions & 34 deletions Mathlib/GroupTheory/Commutator/Basic.lean
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ Copyright (c) 2021 Jordan Brown, Thomas Browning, Patrick Lutz. All rights reser
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Jordan Brown, Thomas Browning, Patrick Lutz
-/
import Mathlib.GroupTheory.GroupAction.Quotient
import Mathlib.GroupTheory.Subgroup.Centralizer
import Mathlib.Tactic.Group

Expand Down Expand Up @@ -211,36 +210,3 @@ theorem mem_commutatorSet_iff : g ∈ commutatorSet G ↔ ∃ g₁ g₂ : G, ⁅

theorem commutator_mem_commutatorSet : ⁅g₁, g₂⁆ ∈ commutatorSet G :=
⟨g₁, g₂, rfl⟩

namespace Subgroup

open QuotientGroup

/-- Cosets of the centralizer of an element embed into the set of commutators. -/
noncomputable def quotientCentralizerEmbedding (g : G) :
G ⧸ centralizer (zpowers (g : G)) ↪ commutatorSet G :=
((MulAction.orbitEquivQuotientStabilizer (ConjAct G) g).trans
(quotientEquivOfEq (ConjAct.stabilizer_eq_centralizer g))).symm.toEmbedding.trans
fun x =>
⟨x * g⁻¹,
let ⟨_, x, rfl⟩ := x
⟨x, g, rfl⟩⟩,
fun _ _ => Subtype.ext ∘ mul_right_cancel ∘ Subtype.ext_iff.mp⟩

theorem quotientCentralizerEmbedding_apply (g : G) (x : G) :
quotientCentralizerEmbedding g x = ⟨⁅x, g⁆, x, g, rfl⟩ :=
rfl

/-- If `G` is generated by `S`, then the quotient by the center embeds into `S`-indexed sequences
of commutators. -/
noncomputable def quotientCenterEmbedding {S : Set G} (hS : closure S = ⊤) :
G ⧸ center G ↪ S → commutatorSet G :=
(quotientEquivOfEq (center_eq_infi' S hS)).toEmbedding.trans
((quotientiInfEmbedding _).trans
(Function.Embedding.piCongrRight fun g => quotientCentralizerEmbedding (g : G)))

theorem quotientCenterEmbedding_apply {S : Set G} (hS : closure S = ⊤) (g : G) (s : S) :
quotientCenterEmbedding hS g s = ⟨⁅g, s⁆, g, s, rfl⟩ :=
rfl

end Subgroup
35 changes: 0 additions & 35 deletions Mathlib/GroupTheory/Commutator/Finite.lean

This file was deleted.

68 changes: 68 additions & 0 deletions Mathlib/GroupTheory/Commutator/Lemmas.lean
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/-
Copyright (c) 2021 Jordan Brown, Thomas Browning, Patrick Lutz. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Jordan Brown, Thomas Browning, Patrick Lutz
-/
import Mathlib.Algebra.Group.Subgroup.Finite
import Mathlib.Algebra.Group.Subgroup.ZPowers.Lemmas
import Mathlib.GroupTheory.Commutator.Basic
import Mathlib.GroupTheory.GroupAction.Quotient

/-!
# Extra lemmas about commutators
The commutator of a finite direct product is contained in the direct product of the commutators.
-/

open QuotientGroup

namespace Subgroup
variable {G : Type*} [Group G]

/-- The commutator of a finite direct product is contained in the direct product of the commutators.
-/
theorem commutator_pi_pi_of_finite {η : Type*} [Finite η] {Gs : η → Type*} [∀ i, Group (Gs i)]
(H K : ∀ i, Subgroup (Gs i)) : ⁅Subgroup.pi Set.univ H, Subgroup.pi Set.univ K⁆ =
Subgroup.pi Set.univ fun i => ⁅H i, K i⁆ := by
classical
apply le_antisymm (commutator_pi_pi_le H K)
rw [pi_le_iff]
intro i hi
rw [map_commutator]
apply commutator_mono <;>
· rw [le_pi_iff]
intro j _hj
rintro _ ⟨_, ⟨x, hx, rfl⟩, rfl⟩
by_cases h : j = i
· subst h
simpa using hx
· simp [h, one_mem]

/-- Cosets of the centralizer of an element embed into the set of commutators. -/
noncomputable def quotientCentralizerEmbedding (g : G) :
G ⧸ centralizer (zpowers (g : G)) ↪ commutatorSet G :=
((MulAction.orbitEquivQuotientStabilizer (ConjAct G) g).trans
(quotientEquivOfEq (ConjAct.stabilizer_eq_centralizer g))).symm.toEmbedding.trans
fun x =>
⟨x * g⁻¹,
let ⟨_, x, rfl⟩ := x
⟨x, g, rfl⟩⟩,
fun _ _ => Subtype.ext ∘ mul_right_cancel ∘ Subtype.ext_iff.mp⟩

theorem quotientCentralizerEmbedding_apply (g : G) (x : G) :
quotientCentralizerEmbedding g x = ⟨⁅x, g⁆, x, g, rfl⟩ :=
rfl

/-- If `G` is generated by `S`, then the quotient by the center embeds into `S`-indexed sequences
of commutators. -/
noncomputable def quotientCenterEmbedding {S : Set G} (hS : closure S = ⊤) :
G ⧸ center G ↪ S → commutatorSet G :=
(quotientEquivOfEq (center_eq_infi' S hS)).toEmbedding.trans
((quotientiInfEmbedding _).trans
(Function.Embedding.piCongrRight fun g => quotientCentralizerEmbedding (g : G)))

theorem quotientCenterEmbedding_apply {S : Set G} (hS : closure S = ⊤) (g : G) (s : S) :
quotientCenterEmbedding hS g s = ⟨⁅g, s⁆, g, s, rfl⟩ :=
rfl

end Subgroup
1 change: 1 addition & 0 deletions Mathlib/GroupTheory/Index.lean
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Authors: Thomas Browning
import Mathlib.Algebra.BigOperators.GroupWithZero.Finset
import Mathlib.Data.Finite.Card
import Mathlib.Data.Set.Card
import Mathlib.GroupTheory.Commutator.Lemmas
import Mathlib.GroupTheory.Coset.Card
import Mathlib.GroupTheory.Finiteness
import Mathlib.GroupTheory.GroupAction.Quotient
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/GroupTheory/Nilpotent.lean
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Authors: Kevin Buzzard, Ines Wright, Joachim Breitner
import Mathlib.GroupTheory.Solvable
import Mathlib.GroupTheory.Sylow
import Mathlib.Algebra.Group.Subgroup.Order
import Mathlib.GroupTheory.Commutator.Finite
import Mathlib.GroupTheory.Commutator.Lemmas

/-!
Expand Down

0 comments on commit c3aa245

Please sign in to comment.