Theorem: IsLinearMap.add_push₂ (SciLean/Core/Meta/GenerateLinearMapSimp.lean)

State before:
K : Type u'
inst✝⁶ : CommSemiring K
X : Type u
inst✝⁵ : AddCommGroup X
inst✝⁴ : Module K X
Y : Type v
inst✝³ : AddCommGroup Y
inst✝² : Module K Y
Z : Type w
inst✝¹ : AddCommGroup Z
inst✝ : Module K Z
f : X → Y
hf : IsLinearMap K f
g : X → Y → Z
hg : IsLinearMap K fun xy => g xy.1 xy.2
x x' : X
y y' : Y
⊢ g x y + g x' y' = g (x + x') (y + y')
Tactic:
have h := hg.map_add (x,y) (x',y')
State after:
K : Type u'
inst✝⁶ : CommSemiring K
X : Type u
inst✝⁵ : AddCommGroup X
inst✝⁴ : Module K X
Y : Type v
inst✝³ : AddCommGroup Y
inst✝² : Module K Y
Z : Type w
inst✝¹ : AddCommGroup Z
inst✝ : Module K Z
f : X → Y
hf : IsLinearMap K f
g : X → Y → Z
hg : IsLinearMap K fun xy => g xy.1 xy.2
x x' : X
y y' : Y
h : g ((x, y) + (x', y')).1 ((x, y) + (x', y')).2 = g (x, y).1 (x, y).2 + g (x', y').1 (x', y').2
⊢ g x y + g x' y' = g (x + x') (y + y')

State before:
K : Type u'
inst✝⁶ : CommSemiring K
X : Type u
inst✝⁵ : AddCommGroup X
inst✝⁴ : Module K X
Y : Type v
inst✝³ : AddCommGroup Y
inst✝² : Module K Y
Z : Type w
inst✝¹ : AddCommGroup Z
inst✝ : Module K Z
f : X → Y
hf : IsLinearMap K f
g : X → Y → Z
hg : IsLinearMap K fun xy => g xy.1 xy.2
x x' : X
y y' : Y
h : g ((x, y) + (x', y')).1 ((x, y) + (x', y')).2 = g (x, y).1 (x, y).2 + g (x', y').1 (x', y').2
⊢ g x y + g x' y' = g (x + x') (y + y')
Tactic:
simp at h
State after:
K : Type u'
inst✝⁶ : CommSemiring K
X : Type u
inst✝⁵ : AddCommGroup X
inst✝⁴ : Module K X
Y : Type v
inst✝³ : AddCommGroup Y
inst✝² : Module K Y
Z : Type w
inst✝¹ : AddCommGroup Z
inst✝ : Module K Z
f : X → Y
hf : IsLinearMap K f
g : X → Y → Z
hg : IsLinearMap K fun xy => g xy.1 xy.2
x x' : X
y y' : Y
h : g (x + x') (y + y') = g x y + g x' y'
⊢ g x y + g x' y' = g (x + x') (y + y')

State before:
K : Type u'
inst✝⁶ : CommSemiring K
X : Type u
inst✝⁵ : AddCommGroup X
inst✝⁴ : Module K X
Y : Type v
inst✝³ : AddCommGroup Y
inst✝² : Module K Y
Z : Type w
inst✝¹ : AddCommGroup Z
inst✝ : Module K Z
f : X → Y
hf : IsLinearMap K f
g : X → Y → Z
hg : IsLinearMap K fun xy => g xy.1 xy.2
x x' : X
y y' : Y
h : g (x + x') (y + y') = g x y + g x' y'
⊢ g x y + g x' y' = g (x + x') (y + y')
Tactic:
rw[h]
State after:
no goals