Theorem: AlgebraicTopology.DoldKan.MorphComponents.preComp_φ
File: Mathlib/AlgebraicTopology/DoldKan/Decomposition.lean

tactic: unfold φ preComp
state_before: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
X X' : SimplicialObject C
n : ℕ
Z Z' : C
f : MorphComponents X n Z
g : X' ⟶ X
h : Z ⟶ Z'
⊢ (f.preComp g).φ = g.app { unop := [n + 1] } ≫ f.φ
state_after: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
X X' : SimplicialObject C
n : ℕ
Z Z' : C
f : MorphComponents X n Z
g : X' ⟶ X
h : Z ⟶ Z'
⊢ PInfty.f (n + 1) ≫ { a := g.app { unop := [n + 1] } ≫ f.a, b := fun i => g.app { unop := [n] } ≫ f.b i }.a +
      ∑ i : Fin (n + 1),
        (P ↑i).f (n + 1) ≫
          X'.δ i.rev.succ ≫
            { a := g.app { unop := [n + 1] } ≫ f.a, b := fun i => g.app { unop := [n] } ≫ f.b i }.b i.rev =
    g.app { unop := [n + 1] } ≫
      (PInfty.f (n + 1) ≫ f.a + ∑ i : Fin (n + 1), (P ↑i).f (n + 1) ≫ X.δ i.rev.succ ≫ f.b i.rev)

tactic: simp only [PInfty_f, comp_add]
state_before: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
X X' : SimplicialObject C
n : ℕ
Z Z' : C
f : MorphComponents X n Z
g : X' ⟶ X
h : Z ⟶ Z'
⊢ PInfty.f (n + 1) ≫ { a := g.app { unop := [n + 1] } ≫ f.a, b := fun i => g.app { unop := [n] } ≫ f.b i }.a +
      ∑ i : Fin (n + 1),
        (P ↑i).f (n + 1) ≫
          X'.δ i.rev.succ ≫
            { a := g.app { unop := [n + 1] } ≫ f.a, b := fun i => g.app { unop := [n] } ≫ f.b i }.b i.rev =
    g.app { unop := [n + 1] } ≫
      (PInfty.f (n + 1) ≫ f.a + ∑ i : Fin (n + 1), (P ↑i).f (n + 1) ≫ X.δ i.rev.succ ≫ f.b i.rev)
state_after: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
X X' : SimplicialObject C
n : ℕ
Z Z' : C
f : MorphComponents X n Z
g : X' ⟶ X
h : Z ⟶ Z'
⊢ (P (n + 1)).f (n + 1) ≫ g.app { unop := [n + 1] } ≫ f.a +
      ∑ x : Fin (n + 1), (P ↑x).f (n + 1) ≫ X'.δ x.rev.succ ≫ g.app { unop := [n] } ≫ f.b x.rev =
    g.app { unop := [n + 1] } ≫ (P (n + 1)).f (n + 1) ≫ f.a +
      g.app { unop := [n + 1] } ≫ ∑ i : Fin (n + 1), (P ↑i).f (n + 1) ≫ X.δ i.rev.succ ≫ f.b i.rev

tactic: congr 1
state_before: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
X X' : SimplicialObject C
n : ℕ
Z Z' : C
f : MorphComponents X n Z
g : X' ⟶ X
h : Z ⟶ Z'
⊢ (P (n + 1)).f (n + 1) ≫ g.app { unop := [n + 1] } ≫ f.a +
      ∑ x : Fin (n + 1), (P ↑x).f (n + 1) ≫ X'.δ x.rev.succ ≫ g.app { unop := [n] } ≫ f.b x.rev =
    g.app { unop := [n + 1] } ≫ (P (n + 1)).f (n + 1) ≫ f.a +
      g.app { unop := [n + 1] } ≫ ∑ i : Fin (n + 1), (P ↑i).f (n + 1) ≫ X.δ i.rev.succ ≫ f.b i.rev
state_after: case e_a
C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
X X' : SimplicialObject C
n : ℕ
Z Z' : C
f : MorphComponents X n Z
g : X' ⟶ X
h : Z ⟶ Z'
⊢ (P (n + 1)).f (n + 1) ≫ g.app { unop := [n + 1] } ≫ f.a = g.app { unop := [n + 1] } ≫ (P (n + 1)).f (n + 1) ≫ f.a

case e_a
C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
X X' : SimplicialObject C
n : ℕ
Z Z' : C
f : MorphComponents X n Z
g : X' ⟶ X
h : Z ⟶ Z'
⊢ ∑ x : Fin (n + 1), (P ↑x).f (n + 1) ≫ X'.δ x.rev.succ ≫ g.app { unop := [n] } ≫ f.b x.rev =
    g.app { unop := [n + 1] } ≫ ∑ i : Fin (n + 1), (P ↑i).f (n + 1) ≫ X.δ i.rev.succ ≫ f.b i.rev

tactic: simp only [P_f_naturality_assoc]
state_before: case e_a
C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
X X' : SimplicialObject C
n : ℕ
Z Z' : C
f : MorphComponents X n Z
g : X' ⟶ X
h : Z ⟶ Z'
⊢ (P (n + 1)).f (n + 1) ≫ g.app { unop := [n + 1] } ≫ f.a = g.app { unop := [n + 1] } ≫ (P (n + 1)).f (n + 1) ≫ f.a
state_after: no goals

tactic: simp only [comp_sum, P_f_naturality_assoc, SimplicialObject.δ_naturality_assoc]
state_before: case e_a
C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
X X' : SimplicialObject C
n : ℕ
Z Z' : C
f : MorphComponents X n Z
g : X' ⟶ X
h : Z ⟶ Z'
⊢ ∑ x : Fin (n + 1), (P ↑x).f (n + 1) ≫ X'.δ x.rev.succ ≫ g.app { unop := [n] } ≫ f.b x.rev =
    g.app { unop := [n + 1] } ≫ ∑ i : Fin (n + 1), (P ↑i).f (n + 1) ≫ X.δ i.rev.succ ≫ f.b i.rev
state_after: no goals