Theorem: HVertexOperator.comp_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✝
Γ : Type u_5
Γ' : Type u_6
inst✝⁸ : OrderedCancelAddCommMonoid Γ
inst✝⁷ : OrderedCancelAddCommMonoid Γ'
R : Type u_7
inst✝⁶ : CommRing R
U : Type u_8
V : Type u_9
W : Type u_10
inst✝⁵ : AddCommGroup U
inst✝⁴ : Module R U
inst✝³ : AddCommGroup V
inst✝² : Module R V
inst✝¹ : AddCommGroup W
inst✝ : Module R W
A : HVertexOperator Γ R V W
B : HVertexOperator Γ' R U V
⊢ ∀ (x y : U),
    (fun u => (of R) (A.compHahnSeries B u).ofIterate) (x + y) =
      (fun u => (of R) (A.compHahnSeries B u).ofIterate) x + (fun u => (of R) (A.compHahnSeries B u).ofIterate) y
state_after: Γ✝ : 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✝
Γ : Type u_5
Γ' : Type u_6
inst✝⁸ : OrderedCancelAddCommMonoid Γ
inst✝⁷ : OrderedCancelAddCommMonoid Γ'
R : Type u_7
inst✝⁶ : CommRing R
U : Type u_8
V : Type u_9
W : Type u_10
inst✝⁵ : AddCommGroup U
inst✝⁴ : Module R U
inst✝³ : AddCommGroup V
inst✝² : Module R V
inst✝¹ : AddCommGroup W
inst✝ : Module R W
A : HVertexOperator Γ R V W
B : HVertexOperator Γ' R U V
u v : U
⊢ (fun u => (of R) (A.compHahnSeries B u).ofIterate) (u + v) =
    (fun u => (of R) (A.compHahnSeries B u).ofIterate) u + (fun u => (of R) (A.compHahnSeries B u).ofIterate) v
tactic: intro u v
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✝
Γ : Type u_5
Γ' : Type u_6
inst✝⁸ : OrderedCancelAddCommMonoid Γ
inst✝⁷ : OrderedCancelAddCommMonoid Γ'
R : Type u_7
inst✝⁶ : CommRing R
U : Type u_8
V : Type u_9
W : Type u_10
inst✝⁵ : AddCommGroup U
inst✝⁴ : Module R U
inst✝³ : AddCommGroup V
inst✝² : Module R V
inst✝¹ : AddCommGroup W
inst✝ : Module R W
A : HVertexOperator Γ R V W
B : HVertexOperator Γ' R U V
u v : U
⊢ (fun u => (of R) (A.compHahnSeries B u).ofIterate) (u + v) =
    (fun u => (of R) (A.compHahnSeries B u).ofIterate) u + (fun u => (of R) (A.compHahnSeries B u).ofIterate) v
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✝
Γ : Type u_5
Γ' : Type u_6
inst✝⁸ : OrderedCancelAddCommMonoid Γ
inst✝⁷ : OrderedCancelAddCommMonoid Γ'
R : Type u_7
inst✝⁶ : CommRing R
U : Type u_8
V : Type u_9
W : Type u_10
inst✝⁵ : AddCommGroup U
inst✝⁴ : Module R U
inst✝³ : AddCommGroup V
inst✝² : Module R V
inst✝¹ : AddCommGroup W
inst✝ : Module R W
A : HVertexOperator Γ R V W
B : HVertexOperator Γ' R U V
u v : U
g : Lex (Γ' × Γ)
⊢ ((of R).symm ((fun u => (of R) (A.compHahnSeries B u).ofIterate) (u + v))).coeff g =
    ((of R).symm
          ((fun u => (of R) (A.compHahnSeries B u).ofIterate) u +
            (fun u => (of R) (A.compHahnSeries B u).ofIterate) v)).coeff
      g
tactic: ext g
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✝
Γ : Type u_5
Γ' : Type u_6
inst✝⁸ : OrderedCancelAddCommMonoid Γ
inst✝⁷ : OrderedCancelAddCommMonoid Γ'
R : Type u_7
inst✝⁶ : CommRing R
U : Type u_8
V : Type u_9
W : Type u_10
inst✝⁵ : AddCommGroup U
inst✝⁴ : Module R U
inst✝³ : AddCommGroup V
inst✝² : Module R V
inst✝¹ : AddCommGroup W
inst✝ : Module R W
A : HVertexOperator Γ R V W
B : HVertexOperator Γ' R U V
u v : U
g : Lex (Γ' × Γ)
⊢ ((of R).symm ((fun u => (of R) (A.compHahnSeries B u).ofIterate) (u + v))).coeff g =
    ((of R).symm
          ((fun u => (of R) (A.compHahnSeries B u).ofIterate) u +
            (fun u => (of R) (A.compHahnSeries B u).ofIterate) v)).coeff
      g
state_after: no goals
tactic: simp only [HahnSeries.ofIterate, compHahnSeries_add, Equiv.symm_apply_apply,
      HahnModule.of_symm_add, HahnSeries.add_coeff', Pi.add_apply]
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✝
Γ : Type u_5
Γ' : Type u_6
inst✝⁸ : OrderedCancelAddCommMonoid Γ
inst✝⁷ : OrderedCancelAddCommMonoid Γ'
R : Type u_7
inst✝⁶ : CommRing R
U : Type u_8
V : Type u_9
W : Type u_10
inst✝⁵ : AddCommGroup U
inst✝⁴ : Module R U
inst✝³ : AddCommGroup V
inst✝² : Module R V
inst✝¹ : AddCommGroup W
inst✝ : Module R W
A : HVertexOperator Γ R V W
B : HVertexOperator Γ' R U V
⊢ ∀ (m : R) (x : U),
    { toFun := fun u => (of R) (A.compHahnSeries B u).ofIterate, map_add' := ⋯ }.toFun (m • x) =
      (RingHom.id R) m • { toFun := fun u => (of R) (A.compHahnSeries B u).ofIterate, map_add' := ⋯ }.toFun x
state_after: Γ✝ : 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✝
Γ : Type u_5
Γ' : Type u_6
inst✝⁸ : OrderedCancelAddCommMonoid Γ
inst✝⁷ : OrderedCancelAddCommMonoid Γ'
R : Type u_7
inst✝⁶ : CommRing R
U : Type u_8
V : Type u_9
W : Type u_10
inst✝⁵ : AddCommGroup U
inst✝⁴ : Module R U
inst✝³ : AddCommGroup V
inst✝² : Module R V
inst✝¹ : AddCommGroup W
inst✝ : Module R W
A : HVertexOperator Γ R V W
B : HVertexOperator Γ' R U V
r : R
x : U
⊢ { toFun := fun u => (of R) (A.compHahnSeries B u).ofIterate, map_add' := ⋯ }.toFun (r • x) =
    (RingHom.id R) r • { toFun := fun u => (of R) (A.compHahnSeries B u).ofIterate, map_add' := ⋯ }.toFun x
tactic: intro r x
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✝
Γ : Type u_5
Γ' : Type u_6
inst✝⁸ : OrderedCancelAddCommMonoid Γ
inst✝⁷ : OrderedCancelAddCommMonoid Γ'
R : Type u_7
inst✝⁶ : CommRing R
U : Type u_8
V : Type u_9
W : Type u_10
inst✝⁵ : AddCommGroup U
inst✝⁴ : Module R U
inst✝³ : AddCommGroup V
inst✝² : Module R V
inst✝¹ : AddCommGroup W
inst✝ : Module R W
A : HVertexOperator Γ R V W
B : HVertexOperator Γ' R U V
r : R
x : U
⊢ { toFun := fun u => (of R) (A.compHahnSeries B u).ofIterate, map_add' := ⋯ }.toFun (r • x) =
    (RingHom.id R) r • { toFun := fun u => (of R) (A.compHahnSeries B u).ofIterate, 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✝
Γ : Type u_5
Γ' : Type u_6
inst✝⁸ : OrderedCancelAddCommMonoid Γ
inst✝⁷ : OrderedCancelAddCommMonoid Γ'
R : Type u_7
inst✝⁶ : CommRing R
U : Type u_8
V : Type u_9
W : Type u_10
inst✝⁵ : AddCommGroup U
inst✝⁴ : Module R U
inst✝³ : AddCommGroup V
inst✝² : Module R V
inst✝¹ : AddCommGroup W
inst✝ : Module R W
A : HVertexOperator Γ R V W
B : HVertexOperator Γ' R U V
r : R
x : U
g : Lex (Γ' × Γ)
⊢ ((of R).symm ({ toFun := fun u => (of R) (A.compHahnSeries B u).ofIterate, map_add' := ⋯ }.toFun (r • x))).coeff g =
    ((of R).symm
          ((RingHom.id R) r •
            { toFun := fun u => (of R) (A.compHahnSeries B u).ofIterate, map_add' := ⋯ }.toFun x)).coeff
      g
tactic: ext g
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✝
Γ : Type u_5
Γ' : Type u_6
inst✝⁸ : OrderedCancelAddCommMonoid Γ
inst✝⁷ : OrderedCancelAddCommMonoid Γ'
R : Type u_7
inst✝⁶ : CommRing R
U : Type u_8
V : Type u_9
W : Type u_10
inst✝⁵ : AddCommGroup U
inst✝⁴ : Module R U
inst✝³ : AddCommGroup V
inst✝² : Module R V
inst✝¹ : AddCommGroup W
inst✝ : Module R W
A : HVertexOperator Γ R V W
B : HVertexOperator Γ' R U V
r : R
x : U
g : Lex (Γ' × Γ)
⊢ ((of R).symm ({ toFun := fun u => (of R) (A.compHahnSeries B u).ofIterate, map_add' := ⋯ }.toFun (r • x))).coeff g =
    ((of R).symm
          ((RingHom.id R) r •
            { toFun := fun u => (of R) (A.compHahnSeries B u).ofIterate, map_add' := ⋯ }.toFun x)).coeff
      g
state_after: no goals
tactic: simp only [HahnSeries.ofIterate, compHahnSeries_smul, HahnSeries.smul_coeff,
      compHahnSeries_coeff, coeff_apply, Equiv.symm_apply_apply, RingHom.id_apply, of_symm_smul]