Theorem: MulAction.orbitRel.Quotient.mem_subgroup_orbit_iff
File: Mathlib/GroupTheory/GroupAction/Basic.lean

tactic: refine ⟨fun h ↦ ?_, fun h ↦ ?_⟩
state_before: G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
H : Subgroup G
x : Quotient G α
a b : ↑x.orbit
⊢ ↑a ∈ MulAction.orbit ↥H ↑b ↔ a ∈ MulAction.orbit (↥H) b
state_after: case refine_1
G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
H : Subgroup G
x : Quotient G α
a b : ↑x.orbit
h : ↑a ∈ MulAction.orbit ↥H ↑b
⊢ a ∈ MulAction.orbit (↥H) b

case refine_2
G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
H : Subgroup G
x : Quotient G α
a b : ↑x.orbit
h : a ∈ MulAction.orbit (↥H) b
⊢ ↑a ∈ MulAction.orbit ↥H ↑b

tactic: rcases h with ⟨g, h⟩
state_before: case refine_1
G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
H : Subgroup G
x : Quotient G α
a b : ↑x.orbit
h : ↑a ∈ MulAction.orbit ↥H ↑b
⊢ a ∈ MulAction.orbit (↥H) b
state_after: case refine_1.intro
G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
H : Subgroup G
x : Quotient G α
a b : ↑x.orbit
g : ↥H
h : (fun m => m • ↑b) g = ↑a
⊢ a ∈ MulAction.orbit (↥H) b

tactic: simp_rw [Submonoid.smul_def, Subgroup.coe_toSubmonoid, ← orbit.coe_smul,
  ← Submonoid.smul_def, ← Subtype.ext_iff] at h
state_before: case refine_1.intro
G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
H : Subgroup G
x : Quotient G α
a b : ↑x.orbit
g : ↥H
h : (fun m => m • ↑b) g = ↑a
⊢ a ∈ MulAction.orbit (↥H) b
state_after: case refine_1.intro
G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
H : Subgroup G
x : Quotient G α
a b : ↑x.orbit
g : ↥H
h : g • b = a
⊢ a ∈ MulAction.orbit (↥H) b

tactic: subst h
state_before: case refine_1.intro
G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
H : Subgroup G
x : Quotient G α
a b : ↑x.orbit
g : ↥H
h : g • b = a
⊢ a ∈ MulAction.orbit (↥H) b
state_after: case refine_1.intro
G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
H : Subgroup G
x : Quotient G α
b : ↑x.orbit
g : ↥H
⊢ g • b ∈ MulAction.orbit (↥H) b

tactic: exact MulAction.mem_orbit _ g
state_before: case refine_1.intro
G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
H : Subgroup G
x : Quotient G α
b : ↑x.orbit
g : ↥H
⊢ g • b ∈ MulAction.orbit (↥H) b
state_after: no goals

tactic: rcases h with ⟨g, rfl⟩
state_before: case refine_2
G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
H : Subgroup G
x : Quotient G α
a b : ↑x.orbit
h : a ∈ MulAction.orbit (↥H) b
⊢ ↑a ∈ MulAction.orbit ↥H ↑b
state_after: case refine_2.intro
G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
H : Subgroup G
x : Quotient G α
b : ↑x.orbit
g : ↥H
⊢ ↑((fun m => m • b) g) ∈ MulAction.orbit ↥H ↑b

tactic: simp_rw [Submonoid.smul_def, Subgroup.coe_toSubmonoid, orbit.coe_smul, ← Submonoid.smul_def]
state_before: case refine_2.intro
G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
H : Subgroup G
x : Quotient G α
b : ↑x.orbit
g : ↥H
⊢ ↑((fun m => m • b) g) ∈ MulAction.orbit ↥H ↑b
state_after: case refine_2.intro
G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
H : Subgroup G
x : Quotient G α
b : ↑x.orbit
g : ↥H
⊢ g • ↑b ∈ MulAction.orbit ↥H ↑b

tactic: exact MulAction.mem_orbit _ g
state_before: case refine_2.intro
G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
H : Subgroup G
x : Quotient G α
b : ↑x.orbit
g : ↥H
⊢ g • ↑b ∈ MulAction.orbit ↥H ↑b
state_after: no goals