Theorem: CategoryTheory.Functor.mapHomotopy_hom
File: Mathlib/Algebra/Homology/Homotopy.lean

Proof steps:
state_before: ι : Type u_1
V : Type u
inst✝⁴ : Category.{v, u} V
inst✝³ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f✝ g✝ : C ⟶ D
h✝ k : D ⟶ E
i✝ : ι
W : Type u_2
inst✝² : Category.{?u.284404, u_2} W
inst✝¹ : Preadditive W
F : V ⥤ W
inst✝ : F.Additive
f g : C ⟶ D
h : Homotopy f g
i j : ι
w : ¬c.Rel j i
⊢ (fun i j => F.map (h.hom i j)) i j = 0
state_after: ι : Type u_1
V : Type u
inst✝⁴ : Category.{v, u} V
inst✝³ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f✝ g✝ : C ⟶ D
h✝ k : D ⟶ E
i✝ : ι
W : Type u_2
inst✝² : Category.{?u.284404, u_2} W
inst✝¹ : Preadditive W
F : V ⥤ W
inst✝ : F.Additive
f g : C ⟶ D
h : Homotopy f g
i j : ι
w : ¬c.Rel j i
⊢ F.map (h.hom i j) = 0
tactic: dsimp
state_before: ι : Type u_1
V : Type u
inst✝⁴ : Category.{v, u} V
inst✝³ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f✝ g✝ : C ⟶ D
h✝ k : D ⟶ E
i✝ : ι
W : Type u_2
inst✝² : Category.{?u.284404, u_2} W
inst✝¹ : Preadditive W
F : V ⥤ W
inst✝ : F.Additive
f g : C ⟶ D
h : Homotopy f g
i j : ι
w : ¬c.Rel j i
⊢ F.map (h.hom i j) = 0
state_after: no goals
tactic: rw [h.zero i j w, F.map_zero]
state_before: ι : Type u_1
V : Type u
inst✝⁴ : Category.{v, u} V
inst✝³ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f✝ g✝ : C ⟶ D
h✝ k : D ⟶ E
i✝ : ι
W : Type u_2
inst✝² : Category.{?u.284404, u_2} W
inst✝¹ : Preadditive W
F : V ⥤ W
inst✝ : F.Additive
f g : C ⟶ D
h : Homotopy f g
i : ι
⊢ ((F.mapHomologicalComplex c).map f).f i =
    (((dNext i) fun i j => F.map (h.hom i j)) + (prevD i) fun i j => F.map (h.hom i j)) +
      ((F.mapHomologicalComplex c).map g).f i
state_after: ι : Type u_1
V : Type u
inst✝⁴ : Category.{v, u} V
inst✝³ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f✝ g✝ : C ⟶ D
h✝ k : D ⟶ E
i✝ : ι
W : Type u_2
inst✝² : Category.{?u.284404, u_2} W
inst✝¹ : Preadditive W
F : V ⥤ W
inst✝ : F.Additive
f g : C ⟶ D
h : Homotopy f g
i : ι
H : f.f i = (dNext i) h.hom + (prevD i) h.hom + g.f i
⊢ ((F.mapHomologicalComplex c).map f).f i =
    (((dNext i) fun i j => F.map (h.hom i j)) + (prevD i) fun i j => F.map (h.hom i j)) +
      ((F.mapHomologicalComplex c).map g).f i
tactic: have H := h.comm i
state_before: ι : Type u_1
V : Type u
inst✝⁴ : Category.{v, u} V
inst✝³ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f✝ g✝ : C ⟶ D
h✝ k : D ⟶ E
i✝ : ι
W : Type u_2
inst✝² : Category.{?u.284404, u_2} W
inst✝¹ : Preadditive W
F : V ⥤ W
inst✝ : F.Additive
f g : C ⟶ D
h : Homotopy f g
i : ι
H : f.f i = (dNext i) h.hom + (prevD i) h.hom + g.f i
⊢ ((F.mapHomologicalComplex c).map f).f i =
    (((dNext i) fun i j => F.map (h.hom i j)) + (prevD i) fun i j => F.map (h.hom i j)) +
      ((F.mapHomologicalComplex c).map g).f i
state_after: ι : Type u_1
V : Type u
inst✝⁴ : Category.{v, u} V
inst✝³ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f✝ g✝ : C ⟶ D
h✝ k : D ⟶ E
i✝ : ι
W : Type u_2
inst✝² : Category.{?u.284404, u_2} W
inst✝¹ : Preadditive W
F : V ⥤ W
inst✝ : F.Additive
f g : C ⟶ D
h : Homotopy f g
i : ι
H : f.f i = C.d i (c.next i) ≫ h.hom (c.next i) i + h.hom i (c.prev i) ≫ D.d (c.prev i) i + g.f i
⊢ F.map (f.f i) =
    F.map (C.d i (c.next i)) ≫ F.map (h.hom (c.next i) i) + F.map (h.hom i (c.prev i)) ≫ F.map (D.d (c.prev i) i) +
      F.map (g.f i)
tactic: dsimp [dNext, prevD] at H ⊢
state_before: ι : Type u_1
V : Type u
inst✝⁴ : Category.{v, u} V
inst✝³ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f✝ g✝ : C ⟶ D
h✝ k : D ⟶ E
i✝ : ι
W : Type u_2
inst✝² : Category.{?u.284404, u_2} W
inst✝¹ : Preadditive W
F : V ⥤ W
inst✝ : F.Additive
f g : C ⟶ D
h : Homotopy f g
i : ι
H : f.f i = C.d i (c.next i) ≫ h.hom (c.next i) i + h.hom i (c.prev i) ≫ D.d (c.prev i) i + g.f i
⊢ F.map (f.f i) =
    F.map (C.d i (c.next i)) ≫ F.map (h.hom (c.next i) i) + F.map (h.hom i (c.prev i)) ≫ F.map (D.d (c.prev i) i) +
      F.map (g.f i)
state_after: no goals
tactic: simp [H]