Theorem: HVertexOperator.of_coeff_apply
File: Mathlib/Algebra/Vertex/HVertexOperator.lean

Proof steps:
state_before: Γ : Type u_1
inst✝⁵ : PartialOrder Γ
R : Type u_2
V : Type u_3
W : Type u_4
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup V
inst✝² : Module R V
inst✝¹ : AddCommGroup W
inst✝ : Module R W
f : Γ → V →ₗ[R] W
hf : ∀ (x : V), (Function.support fun x_1 => (f x_1) x).IsPWO
x✝¹ x✝ : V
⊢ (fun x => (of R) { coeff := fun g => (f g) x, isPWO_support' := ⋯ }) (x✝¹ + x✝) =
    (fun x => (of R) { coeff := fun g => (f g) x, isPWO_support' := ⋯ }) x✝¹ +
      (fun x => (of R) { coeff := fun g => (f g) x, isPWO_support' := ⋯ }) x✝
state_after: case h.h
Γ : Type u_1
inst✝⁵ : PartialOrder Γ
R : Type u_2
V : Type u_3
W : Type u_4
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup V
inst✝² : Module R V
inst✝¹ : AddCommGroup W
inst✝ : Module R W
f : Γ → V →ₗ[R] W
hf : ∀ (x : V), (Function.support fun x_1 => (f x_1) x).IsPWO
x✝² x✝¹ : V
x✝ : Γ
⊢ ((of R).symm ((fun x => (of R) { coeff := fun g => (f g) x, isPWO_support' := ⋯ }) (x✝² + x✝¹))).coeff x✝ =
    ((of R).symm
          ((fun x => (of R) { coeff := fun g => (f g) x, isPWO_support' := ⋯ }) x✝² +
            (fun x => (of R) { coeff := fun g => (f g) x, isPWO_support' := ⋯ }) x✝¹)).coeff
      x✝
tactic: ext
state_before: case h.h
Γ : Type u_1
inst✝⁵ : PartialOrder Γ
R : Type u_2
V : Type u_3
W : Type u_4
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup V
inst✝² : Module R V
inst✝¹ : AddCommGroup W
inst✝ : Module R W
f : Γ → V →ₗ[R] W
hf : ∀ (x : V), (Function.support fun x_1 => (f x_1) x).IsPWO
x✝² x✝¹ : V
x✝ : Γ
⊢ ((of R).symm ((fun x => (of R) { coeff := fun g => (f g) x, isPWO_support' := ⋯ }) (x✝² + x✝¹))).coeff x✝ =
    ((of R).symm
          ((fun x => (of R) { coeff := fun g => (f g) x, isPWO_support' := ⋯ }) x✝² +
            (fun x => (of R) { coeff := fun g => (f g) x, isPWO_support' := ⋯ }) x✝¹)).coeff
      x✝
state_after: no goals
tactic: simp
state_before: Γ : Type u_1
inst✝⁵ : PartialOrder Γ
R : Type u_2
V : Type u_3
W : Type u_4
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup V
inst✝² : Module R V
inst✝¹ : AddCommGroup W
inst✝ : Module R W
f : Γ → V →ₗ[R] W
hf : ∀ (x : V), (Function.support fun x_1 => (f x_1) x).IsPWO
x✝¹ : R
x✝ : V
⊢ { toFun := fun x => (of R) { coeff := fun g => (f g) x, isPWO_support' := ⋯ }, map_add' := ⋯ }.toFun (x✝¹ • x✝) =
    (RingHom.id R) x✝¹ •
      { toFun := fun x => (of R) { coeff := fun g => (f g) x, isPWO_support' := ⋯ }, map_add' := ⋯ }.toFun x✝
state_after: case h.h
Γ : Type u_1
inst✝⁵ : PartialOrder Γ
R : Type u_2
V : Type u_3
W : Type u_4
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup V
inst✝² : Module R V
inst✝¹ : AddCommGroup W
inst✝ : Module R W
f : Γ → V →ₗ[R] W
hf : ∀ (x : V), (Function.support fun x_1 => (f x_1) x).IsPWO
x✝² : R
x✝¹ : V
x✝ : Γ
⊢ ((of R).symm
          ({ toFun := fun x => (of R) { coeff := fun g => (f g) x, isPWO_support' := ⋯ }, map_add' := ⋯ }.toFun
            (x✝² • x✝¹))).coeff
      x✝ =
    ((of R).symm
          ((RingHom.id R) x✝² •
            { toFun := fun x => (of R) { coeff := fun g => (f g) x, isPWO_support' := ⋯ }, map_add' := ⋯ }.toFun
              x✝¹)).coeff
      x✝
tactic: ext
state_before: case h.h
Γ : Type u_1
inst✝⁵ : PartialOrder Γ
R : Type u_2
V : Type u_3
W : Type u_4
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup V
inst✝² : Module R V
inst✝¹ : AddCommGroup W
inst✝ : Module R W
f : Γ → V →ₗ[R] W
hf : ∀ (x : V), (Function.support fun x_1 => (f x_1) x).IsPWO
x✝² : R
x✝¹ : V
x✝ : Γ
⊢ ((of R).symm
          ({ toFun := fun x => (of R) { coeff := fun g => (f g) x, isPWO_support' := ⋯ }, map_add' := ⋯ }.toFun
            (x✝² • x✝¹))).coeff
      x✝ =
    ((of R).symm
          ((RingHom.id R) x✝² •
            { toFun := fun x => (of R) { coeff := fun g => (f g) x, isPWO_support' := ⋯ }, map_add' := ⋯ }.toFun
              x✝¹)).coeff
      x✝
state_after: no goals
tactic: simp