Theorem: AddAction.isPretransitive_compHom
File: Mathlib/Algebra/Group/Action/Defs.lean

Proof steps:
state_before: M : Type u_1
N : Type u_2
G✝ : Type u_3
H : Type u_4
A : Type u_5
B : Type u_6
α : Type u_7
β : Type u_8
γ : Type u_9
δ : Type u_10
inst✝⁵ : Monoid M
inst✝⁴ : MulAction M α
E : Type u_11
F : Type u_12
G : Type u_13
inst✝³ : Monoid E
inst✝² : Monoid F
inst✝¹ : MulAction F G
inst✝ : IsPretransitive F G
f : E →* F
hf : Surjective ⇑f
⊢ IsPretransitive E G
state_after: M : Type u_1
N : Type u_2
G✝ : Type u_3
H : Type u_4
A : Type u_5
B : Type u_6
α : Type u_7
β : Type u_8
γ : Type u_9
δ : Type u_10
inst✝⁵ : Monoid M
inst✝⁴ : MulAction M α
E : Type u_11
F : Type u_12
G : Type u_13
inst✝³ : Monoid E
inst✝² : Monoid F
inst✝¹ : MulAction F G
inst✝ : IsPretransitive F G
f : E →* F
hf : Surjective ⇑f
x✝ : MulAction E G := compHom G f
⊢ IsPretransitive E G
tactic: let _ : MulAction E G := MulAction.compHom _ f
state_before: M : Type u_1
N : Type u_2
G✝ : Type u_3
H : Type u_4
A : Type u_5
B : Type u_6
α : Type u_7
β : Type u_8
γ : Type u_9
δ : Type u_10
inst✝⁵ : Monoid M
inst✝⁴ : MulAction M α
E : Type u_11
F : Type u_12
G : Type u_13
inst✝³ : Monoid E
inst✝² : Monoid F
inst✝¹ : MulAction F G
inst✝ : IsPretransitive F G
f : E →* F
hf : Surjective ⇑f
x✝ : MulAction E G := compHom G f
⊢ IsPretransitive E G
state_after: M : Type u_1
N : Type u_2
G✝ : Type u_3
H : Type u_4
A : Type u_5
B : Type u_6
α : Type u_7
β : Type u_8
γ : Type u_9
δ : Type u_10
inst✝⁵ : Monoid M
inst✝⁴ : MulAction M α
E : Type u_11
F : Type u_12
G : Type u_13
inst✝³ : Monoid E
inst✝² : Monoid F
inst✝¹ : MulAction F G
inst✝ : IsPretransitive F G
f : E →* F
hf : Surjective ⇑f
x✝ : MulAction E G := compHom G f
x y : G
⊢ ∃ g, g • x = y
tactic: refine ⟨fun x y ↦ ?_⟩
state_before: M : Type u_1
N : Type u_2
G✝ : Type u_3
H : Type u_4
A : Type u_5
B : Type u_6
α : Type u_7
β : Type u_8
γ : Type u_9
δ : Type u_10
inst✝⁵ : Monoid M
inst✝⁴ : MulAction M α
E : Type u_11
F : Type u_12
G : Type u_13
inst✝³ : Monoid E
inst✝² : Monoid F
inst✝¹ : MulAction F G
inst✝ : IsPretransitive F G
f : E →* F
hf : Surjective ⇑f
x✝ : MulAction E G := compHom G f
x y : G
⊢ ∃ g, g • x = y
state_after: case intro
M : Type u_1
N : Type u_2
G✝ : Type u_3
H : Type u_4
A : Type u_5
B : Type u_6
α : Type u_7
β : Type u_8
γ : Type u_9
δ : Type u_10
inst✝⁵ : Monoid M
inst✝⁴ : MulAction M α
E : Type u_11
F : Type u_12
G : Type u_13
inst✝³ : Monoid E
inst✝² : Monoid F
inst✝¹ : MulAction F G
inst✝ : IsPretransitive F G
f : E →* F
hf : Surjective ⇑f
x✝ : MulAction E G := compHom G f
x : G
m : F
⊢ ∃ g, g • x = m • x
tactic: obtain ⟨m, rfl⟩ : ∃ m : F, m • x = y := exists_smul_eq F x y
state_before: case intro
M : Type u_1
N : Type u_2
G✝ : Type u_3
H : Type u_4
A : Type u_5
B : Type u_6
α : Type u_7
β : Type u_8
γ : Type u_9
δ : Type u_10
inst✝⁵ : Monoid M
inst✝⁴ : MulAction M α
E : Type u_11
F : Type u_12
G : Type u_13
inst✝³ : Monoid E
inst✝² : Monoid F
inst✝¹ : MulAction F G
inst✝ : IsPretransitive F G
f : E →* F
hf : Surjective ⇑f
x✝ : MulAction E G := compHom G f
x : G
m : F
⊢ ∃ g, g • x = m • x
state_after: case intro.intro
M : Type u_1
N : Type u_2
G✝ : Type u_3
H : Type u_4
A : Type u_5
B : Type u_6
α : Type u_7
β : Type u_8
γ : Type u_9
δ : Type u_10
inst✝⁵ : Monoid M
inst✝⁴ : MulAction M α
E : Type u_11
F : Type u_12
G : Type u_13
inst✝³ : Monoid E
inst✝² : Monoid F
inst✝¹ : MulAction F G
inst✝ : IsPretransitive F G
f : E →* F
hf : Surjective ⇑f
x✝ : MulAction E G := compHom G f
x : G
e : E
⊢ ∃ g, g • x = f e • x
tactic: obtain ⟨e, rfl⟩ : ∃ e, f e = m := hf m
state_before: case intro.intro
M : Type u_1
N : Type u_2
G✝ : Type u_3
H : Type u_4
A : Type u_5
B : Type u_6
α : Type u_7
β : Type u_8
γ : Type u_9
δ : Type u_10
inst✝⁵ : Monoid M
inst✝⁴ : MulAction M α
E : Type u_11
F : Type u_12
G : Type u_13
inst✝³ : Monoid E
inst✝² : Monoid F
inst✝¹ : MulAction F G
inst✝ : IsPretransitive F G
f : E →* F
hf : Surjective ⇑f
x✝ : MulAction E G := compHom G f
x : G
e : E
⊢ ∃ g, g • x = f e • x
state_after: no goals
tactic: exact ⟨e, rfl⟩