Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit ba264c4

Browse files
committed
chore(group_theory/group_action): cleanup (#7045)
Clean up stabilizers and add a missing simp lemma.
1 parent 5312895 commit ba264c4

File tree

1 file changed

+11
-25
lines changed

1 file changed

+11
-25
lines changed

src/group_theory/group_action/basic.lean

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,6 @@ iff.rfl
3535
@[simp] lemma mem_orbit_self (b : β) : b ∈ orbit α b :=
3636
1, by simp [mul_action.one_smul]⟩
3737

38-
variable (α)
39-
40-
/-- The stabilizer of an element under an action, i.e. what sends the element to itself. Note
41-
that this is a set: for the group stabilizer see `stabilizer`. -/
42-
def stabilizer_carrier (b : β) : set α :=
43-
{x : α | x • b = b}
44-
45-
variable {α}
46-
47-
@[simp] lemma mem_stabilizer_iff {b : β} {x : α} :
48-
x ∈ stabilizer_carrier α b ↔ x • b = b := iff.rfl
49-
5038
variables (α) (β)
5139

5240
/-- The set of elements fixed under the whole action. -/
@@ -70,16 +58,19 @@ variables {α} (β)
7058
lemma mem_fixed_points' {b : β} : b ∈ fixed_points α β ↔
7159
(∀ b', b' ∈ orbit α b → b' = b) :=
7260
⟨λ h b h₁, let ⟨x, hx⟩ := mem_orbit_iff.1 h₁ in hx ▸ h x,
73-
λ h b, mem_stabilizer_iff.2 (h _ (mem_orbit _ _))⟩
61+
λ h b, h _ (mem_orbit _ _)⟩
7462

7563
variables (α) {β}
7664

7765
/-- The stabilizer of a point `b` as a submonoid of `α`. -/
7866
def stabilizer.submonoid (b : β) : submonoid α :=
79-
{ carrier := stabilizer_carrier α b,
67+
{ carrier := { a | a • b = b },
8068
one_mem' := one_smul _ b,
8169
mul_mem' := λ a a' (ha : a • b = b) (hb : a' • b = b),
82-
by rw [mem_stabilizer_iff, ←smul_smul, hb, ha] }
70+
show (a * a') • b = b, by rw [←smul_smul, hb, ha] }
71+
72+
@[simp] lemma mem_stabilizer_submonoid_iff {b : β} {a : α} :
73+
a ∈ stabilizer.submonoid α b ↔ a • b = b := iff.rfl
8374

8475
end mul_action
8576

@@ -95,6 +86,9 @@ def stabilizer (b : β) : subgroup α :=
9586

9687
variables {α} {β}
9788

89+
@[simp] lemma mem_stabilizer_iff {b : β} {a : α} :
90+
a ∈ stabilizer α b ↔ a • b = b := iff.rfl
91+
9892
lemma orbit_eq_iff {a b : β} :
9993
orbit α a = orbit α b ↔ a ∈ orbit α b:=
10094
⟨λ h, h ▸ mem_orbit_self _,
@@ -107,14 +101,6 @@ lemma orbit_eq_iff {a b : β} :
107101

108102
variables (α) {β}
109103

110-
/-- The stabilizer of a point `b` as a subgroup of `α`. -/
111-
def stabilizer.subgroup (b : β) : subgroup α :=
112-
{ inv_mem' := λ x (hx : x • b = b), show x⁻¹ • b = b,
113-
by rw [← hx, ← mul_action.mul_smul, inv_mul_self, mul_action.one_smul, hx],
114-
..stabilizer.submonoid α b }
115-
116-
variables {β}
117-
118104
@[simp] lemma mem_orbit_smul (g : α) (a : β) : a ∈ orbit α (g • a) :=
119105
⟨g⁻¹, by simp⟩
120106

@@ -130,7 +116,7 @@ def orbit_rel : setoid β :=
130116

131117
variables {α β}
132118

133-
open quotient_group mul_action
119+
open quotient_group
134120

135121
/-- Action on left cosets. -/
136122
def mul_left_cosets (H : subgroup α)
@@ -149,7 +135,7 @@ instance quotient (H : subgroup α) : mul_action α (quotient H) :=
149135
@[simp] lemma quotient.smul_mk (H : subgroup α) (a x : α) :
150136
(a • quotient_group.mk x : quotient_group.quotient H) = quotient_group.mk (a * x) := rfl
151137

152-
@[simp] lemma quotient.smul_coe {α : Type*} [comm_group α] (H : subgroup α) (a x : α) :
138+
@[simp] lemma quotient.smul_coe (H : subgroup α) (a x : α) :
153139
(a • x : quotient_group.quotient H) = ↑(a * x) := rfl
154140

155141
instance mul_left_cosets_comp_subtype_val (H I : subgroup α) :

0 commit comments

Comments
 (0)