Theorem: MulAction.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 : α
a b : ↑(orbit G x)
⊢ a ∈ orbit (↥H) b ↔ ↑a ∈ 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 : α
a b : ↑(orbit G x)
h : a ∈ orbit (↥H) b
⊢ ↑a ∈ 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 : α
a b : ↑(orbit G x)
h : ↑a ∈ orbit ↥H ↑b
⊢ a ∈ orbit (↥H) b

tactic: rcases h with ⟨g, rfl⟩
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 : α
a b : ↑(orbit G x)
h : a ∈ orbit (↥H) b
⊢ ↑a ∈ 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 : α
b : ↑(orbit G x)
g : ↥H
⊢ ↑((fun m => m • b) g) ∈ orbit ↥H ↑b

tactic: simp_rw [Submonoid.smul_def, Subgroup.coe_toSubmonoid, orbit.coe_smul, ← Submonoid.smul_def]
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 : α
b : ↑(orbit G x)
g : ↥H
⊢ ↑((fun m => m • b) g) ∈ 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 : α
b : ↑(orbit G x)
g : ↥H
⊢ g • ↑b ∈ 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 : α
b : ↑(orbit G x)
g : ↥H
⊢ g • ↑b ∈ orbit ↥H ↑b
state_after: no goals

tactic: rcases h with ⟨g, h⟩
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 : α
a b : ↑(orbit G x)
h : ↑a ∈ orbit ↥H ↑b
⊢ a ∈ 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 : α
a b : ↑(orbit G x)
g : ↥H
h : (fun m => m • ↑b) g = ↑a
⊢ a ∈ 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_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 : α
a b : ↑(orbit G x)
g : ↥H
h : (fun m => m • ↑b) g = ↑a
⊢ a ∈ 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 : α
a b : ↑(orbit G x)
g : ↥H
h : g • b = a
⊢ a ∈ orbit (↥H) b

tactic: subst h
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 : α
a b : ↑(orbit G x)
g : ↥H
h : g • b = a
⊢ a ∈ 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 : α
b : ↑(orbit G x)
g : ↥H
⊢ g • b ∈ 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 : α
b : ↑(orbit G x)
g : ↥H
⊢ g • b ∈ orbit (↥H) b
state_after: no goals