Theorem: Representation.ofMulAction_self_smul_eq_mul
File: Mathlib/RepresentationTheory/Basic.lean

tactic: show asAlgebraHom (ofMulAction k G G) _ _ = _
state_before: k : Type u_1
G : Type u_2
V : Type ?u.568789
inst✝³ : CommSemiring k
inst✝² : Group G
inst✝¹ : AddCommMonoid V
inst✝ : Module k V
ρ : Representation k G V
x : MonoidAlgebra k G
y : asModule (ofMulAction k G G)
g : G
⊢ (fun z => z • y = z * y) (↑(of k G) g)

tactic: ext
state_before: k : Type u_1
G : Type u_2
V : Type ?u.568789
inst✝³ : CommSemiring k
inst✝² : Group G
inst✝¹ : AddCommMonoid V
inst✝ : Module k V
ρ : Representation k G V
x : MonoidAlgebra k G
y : asModule (ofMulAction k G G)
g : G
⊢ ↑(↑(asAlgebraHom (ofMulAction k G G)) (↑(of k G) g)) y = ↑(of k G) g * y

tactic: simp only [MonoidAlgebra.of_apply, asAlgebraHom_single, one_smul,
  ofMulAction_apply, smul_eq_mul]
state_before: case h
k : Type u_1
G : Type u_2
V : Type ?u.568789
inst✝³ : CommSemiring k
inst✝² : Group G
inst✝¹ : AddCommMonoid V
inst✝ : Module k V
ρ : Representation k G V
x : MonoidAlgebra k G
y : asModule (ofMulAction k G G)
g a✝ : G
⊢ ↑(↑(↑(asAlgebraHom (ofMulAction k G G)) (↑(of k G) g)) y) a✝ = ↑(↑(of k G) g * y) a✝

tactic: rw [MonoidAlgebra.single_mul_apply, one_mul]
state_before: case h
k : Type u_1
G : Type u_2
V : Type ?u.568789
inst✝³ : CommSemiring k
inst✝² : Group G
inst✝¹ : AddCommMonoid V
inst✝ : Module k V
ρ : Representation k G V
x : MonoidAlgebra k G
y : asModule (ofMulAction k G G)
g a✝ : G
⊢ ↑y (g⁻¹ * a✝) = ↑(MonoidAlgebra.single g 1 * y) a✝

tactic: simp only [hx, hy, add_mul, add_smul]
state_before: k : Type u_1
G : Type u_2
V : Type ?u.568789
inst✝³ : CommSemiring k
inst✝² : Group G
inst✝¹ : AddCommMonoid V
inst✝ : Module k V
ρ : Representation k G V
x✝ : MonoidAlgebra k G
y✝ : asModule (ofMulAction k G G)
x y : MonoidAlgebra k G
hx : (fun z => z • y✝ = z * y✝) x
hy : (fun z => z • y✝ = z * y✝) y
⊢ (fun z => z • y✝ = z * y✝) (x + y)

tactic: show asAlgebraHom (ofMulAction k G G) _ _ = _
state_before: k : Type u_1
G : Type u_2
V : Type ?u.568789
inst✝³ : CommSemiring k
inst✝² : Group G
inst✝¹ : AddCommMonoid V
inst✝ : Module k V
ρ : Representation k G V
x✝ : MonoidAlgebra k G
y : asModule (ofMulAction k G G)
r : k
x : MonoidAlgebra k G
hx : (fun z => z • y = z * y) x
⊢ (fun z => z • y = z * y) (r • x)

tactic: simp only [map_smul, smul_apply, Algebra.smul_mul_assoc]
state_before: k : Type u_1
G : Type u_2
V : Type ?u.568789
inst✝³ : CommSemiring k
inst✝² : Group G
inst✝¹ : AddCommMonoid V
inst✝ : Module k V
ρ : Representation k G V
x✝ : MonoidAlgebra k G
y : asModule (ofMulAction k G G)
r : k
x : MonoidAlgebra k G
hx : (fun z => z • y = z * y) x
⊢ ↑(↑(asAlgebraHom (ofMulAction k G G)) (r • x)) y = r • x * y

tactic: rw [←hx]
state_before: k : Type u_1
G : Type u_2
V : Type ?u.568789
inst✝³ : CommSemiring k
inst✝² : Group G
inst✝¹ : AddCommMonoid V
inst✝ : Module k V
ρ : Representation k G V
x✝ : MonoidAlgebra k G
y : asModule (ofMulAction k G G)
r : k
x : MonoidAlgebra k G
hx : (fun z => z • y = z * y) x
⊢ r • ↑(↑(asAlgebraHom (ofMulAction k G G)) x) y = r • (x * y)

tactic: rfl
state_before: k : Type u_1
G : Type u_2
V : Type ?u.568789
inst✝³ : CommSemiring k
inst✝² : Group G
inst✝¹ : AddCommMonoid V
inst✝ : Module k V
ρ : Representation k G V
x✝ : MonoidAlgebra k G
y : asModule (ofMulAction k G G)
r : k
x : MonoidAlgebra k G
hx : (fun z => z • y = z * y) x
⊢ r • ↑(↑(asAlgebraHom (ofMulAction k G G)) x) y = r • x • y