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_3
inst✝³ : CommSemiring k
inst✝² : Group G
inst✝¹ : AddCommMonoid V
inst✝ : Module k V
ρ : Representation k G V
x : MonoidAlgebra k G
y : (ofMulAction k G G).asModule
g : G
⊢ (fun z => z • y = z * y) ((of k G) g)
state_after: k : Type u_1
G : Type u_2
V : Type u_3
inst✝³ : CommSemiring k
inst✝² : Group G
inst✝¹ : AddCommMonoid V
inst✝ : Module k V
ρ : Representation k G V
x : MonoidAlgebra k G
y : (ofMulAction k G G).asModule
g : G
⊢ ((ofMulAction k G G).asAlgebraHom ((of k G) g)) y = (of k G) g * y

tactic: ext
state_before: k : Type u_1
G : Type u_2
V : Type u_3
inst✝³ : CommSemiring k
inst✝² : Group G
inst✝¹ : AddCommMonoid V
inst✝ : Module k V
ρ : Representation k G V
x : MonoidAlgebra k G
y : (ofMulAction k G G).asModule
g : G
⊢ ((ofMulAction k G G).asAlgebraHom ((of k G) g)) y = (of k G) g * y
state_after: case h
k : Type u_1
G : Type u_2
V : Type u_3
inst✝³ : CommSemiring k
inst✝² : Group G
inst✝¹ : AddCommMonoid V
inst✝ : Module k V
ρ : Representation k G V
x : MonoidAlgebra k G
y : (ofMulAction k G G).asModule
g a✝ : G
⊢ (((ofMulAction k G G).asAlgebraHom ((of k G) g)) y) a✝ = ((of k G) g * y) a✝

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_3
inst✝³ : CommSemiring k
inst✝² : Group G
inst✝¹ : AddCommMonoid V
inst✝ : Module k V
ρ : Representation k G V
x : MonoidAlgebra k G
y : (ofMulAction k G G).asModule
g a✝ : G
⊢ (((ofMulAction k G G).asAlgebraHom ((of k G) g)) y) a✝ = ((of k G) g * y) a✝
state_after: case h
k : Type u_1
G : Type u_2
V : Type u_3
inst✝³ : CommSemiring k
inst✝² : Group G
inst✝¹ : AddCommMonoid V
inst✝ : Module k V
ρ : Representation k G V
x : MonoidAlgebra k G
y : (ofMulAction k G G).asModule
g a✝ : G
⊢ y (g⁻¹ * a✝) = (MonoidAlgebra.single g 1 * 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_3
inst✝³ : CommSemiring k
inst✝² : Group G
inst✝¹ : AddCommMonoid V
inst✝ : Module k V
ρ : Representation k G V
x : MonoidAlgebra k G
y : (ofMulAction k G G).asModule
g a✝ : G
⊢ y (g⁻¹ * a✝) = (MonoidAlgebra.single g 1 * y) a✝
state_after: no goals

tactic: simp only [hx, hy, add_mul, add_smul]
state_before: k : Type u_1
G : Type u_2
V : Type u_3
inst✝³ : CommSemiring k
inst✝² : Group G
inst✝¹ : AddCommMonoid V
inst✝ : Module k V
ρ : Representation k G V
x✝ : MonoidAlgebra k G
y✝ : (ofMulAction k G G).asModule
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)
state_after: no goals

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

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

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

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