Theorem: AlgebraicTopology.DoldKan.Γ₀.Obj.map_on_summand₀
File: Mathlib/AlgebraicTopology/DoldKan/FunctorGamma.lean

tactic: simp only [map, colimit.ι_desc, Cofan.mk_ι_app]
state_before: C : Type u_2
inst✝⁴ : Category C
inst✝³ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ✝ Δ'✝ Δ''✝ : SimplexCategory
inst✝² : HasFiniteCoproducts C
Δ Δ' : SimplexCategoryᵒᵖ
A : Splitting.IndexSet Δ
θ : Δ ⟶ Δ'
Δ'' : SimplexCategory
e : Δ'.unop ⟶ Δ''
i : Δ'' ⟶ A.fst.unop
inst✝¹ : Epi e
inst✝ : Mono i
fac : e ≫ i = θ.unop ≫ Splitting.IndexSet.e A
⊢ Sigma.ι (summand K Δ) A ≫ map K θ = Termwise.mapMono K i ≫ Sigma.ι (summand K Δ') (Splitting.IndexSet.mk e)

tactic: have h := SimplexCategory.image_eq fac
state_before: C : Type u_2
inst✝⁴ : Category C
inst✝³ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ✝ Δ'✝ Δ''✝ : SimplexCategory
inst✝² : HasFiniteCoproducts C
Δ Δ' : SimplexCategoryᵒᵖ
A : Splitting.IndexSet Δ
θ : Δ ⟶ Δ'
Δ'' : SimplexCategory
e : Δ'.unop ⟶ Δ''
i : Δ'' ⟶ A.fst.unop
inst✝¹ : Epi e
inst✝ : Mono i
fac : e ≫ i = θ.unop ≫ Splitting.IndexSet.e A
⊢ Termwise.mapMono K (image.ι (θ.unop ≫ Splitting.IndexSet.e A)) ≫
      Sigma.ι (summand K Δ') (Splitting.IndexSet.pull A θ) =
    Termwise.mapMono K i ≫ Sigma.ι (summand K Δ') (Splitting.IndexSet.mk e)

tactic: subst h
state_before: C : Type u_2
inst✝⁴ : Category C
inst✝³ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ✝ Δ'✝ Δ''✝ : SimplexCategory
inst✝² : HasFiniteCoproducts C
Δ Δ' : SimplexCategoryᵒᵖ
A : Splitting.IndexSet Δ
θ : Δ ⟶ Δ'
Δ'' : SimplexCategory
e : Δ'.unop ⟶ Δ''
i : Δ'' ⟶ A.fst.unop
inst✝¹ : Epi e
inst✝ : Mono i
fac : e ≫ i = θ.unop ≫ Splitting.IndexSet.e A
h : image (θ.unop ≫ Splitting.IndexSet.e A) = Δ''
⊢ Termwise.mapMono K (image.ι (θ.unop ≫ Splitting.IndexSet.e A)) ≫
      Sigma.ι (summand K Δ') (Splitting.IndexSet.pull A θ) =
    Termwise.mapMono K i ≫ Sigma.ι (summand K Δ') (Splitting.IndexSet.mk e)

tactic: congr
state_before: C : Type u_2
inst✝⁴ : Category C
inst✝³ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ✝ Δ'✝ Δ'' : SimplexCategory
inst✝² : HasFiniteCoproducts C
Δ Δ' : SimplexCategoryᵒᵖ
A : Splitting.IndexSet Δ
θ : Δ ⟶ Δ'
e : Δ'.unop ⟶ image (θ.unop ≫ Splitting.IndexSet.e A)
i : image (θ.unop ≫ Splitting.IndexSet.e A) ⟶ A.fst.unop
inst✝¹ : Epi e
inst✝ : Mono i
fac : e ≫ i = θ.unop ≫ Splitting.IndexSet.e A
⊢ Termwise.mapMono K (image.ι (θ.unop ≫ Splitting.IndexSet.e A)) ≫
      Sigma.ι (summand K Δ') (Splitting.IndexSet.pull A θ) =
    Termwise.mapMono K i ≫ Sigma.ι (summand K Δ') (Splitting.IndexSet.mk e)

tactic: exact SimplexCategory.image_ι_eq fac
state_before: case e_a.e_i
C : Type u_2
inst✝⁴ : Category C
inst✝³ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ✝ Δ'✝ Δ'' : SimplexCategory
inst✝² : HasFiniteCoproducts C
Δ Δ' : SimplexCategoryᵒᵖ
A : Splitting.IndexSet Δ
θ : Δ ⟶ Δ'
e : Δ'.unop ⟶ image (θ.unop ≫ Splitting.IndexSet.e A)
i : image (θ.unop ≫ Splitting.IndexSet.e A) ⟶ A.fst.unop
inst✝¹ : Epi e
inst✝ : Mono i
fac : e ≫ i = θ.unop ≫ Splitting.IndexSet.e A
⊢ image.ι (θ.unop ≫ Splitting.IndexSet.e A) = i

tactic: dsimp only [SimplicialObject.Splitting.IndexSet.pull]
state_before: case e_a.h.e_6.h
C : Type u_2
inst✝⁴ : Category C
inst✝³ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ✝ Δ'✝ Δ'' : SimplexCategory
inst✝² : HasFiniteCoproducts C
Δ Δ' : SimplexCategoryᵒᵖ
A : Splitting.IndexSet Δ
θ : Δ ⟶ Δ'
e : Δ'.unop ⟶ image (θ.unop ≫ Splitting.IndexSet.e A)
i : image (θ.unop ≫ Splitting.IndexSet.e A) ⟶ A.fst.unop
inst✝¹ : Epi e
inst✝ : Mono i
fac : e ≫ i = θ.unop ≫ Splitting.IndexSet.e A
⊢ Splitting.IndexSet.pull A θ = Splitting.IndexSet.mk e

tactic: congr
state_before: case e_a.h.e_6.h
C : Type u_2
inst✝⁴ : Category C
inst✝³ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ✝ Δ'✝ Δ'' : SimplexCategory
inst✝² : HasFiniteCoproducts C
Δ Δ' : SimplexCategoryᵒᵖ
A : Splitting.IndexSet Δ
θ : Δ ⟶ Δ'
e : Δ'.unop ⟶ image (θ.unop ≫ Splitting.IndexSet.e A)
i : image (θ.unop ≫ Splitting.IndexSet.e A) ⟶ A.fst.unop
inst✝¹ : Epi e
inst✝ : Mono i
fac : e ≫ i = θ.unop ≫ Splitting.IndexSet.e A
⊢ Splitting.IndexSet.mk (factorThruImage (θ.unop ≫ Splitting.IndexSet.e A)) = Splitting.IndexSet.mk e

tactic: exact SimplexCategory.factorThruImage_eq fac
state_before: case e_a.h.e_6.h.e_f
C : Type u_2
inst✝⁴ : Category C
inst✝³ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ✝ Δ'✝ Δ'' : SimplexCategory
inst✝² : HasFiniteCoproducts C
Δ Δ' : SimplexCategoryᵒᵖ
A : Splitting.IndexSet Δ
θ : Δ ⟶ Δ'
e : Δ'.unop ⟶ image (θ.unop ≫ Splitting.IndexSet.e A)
i : image (θ.unop ≫ Splitting.IndexSet.e A) ⟶ A.fst.unop
inst✝¹ : Epi e
inst✝ : Mono i
fac : e ≫ i = θ.unop ≫ Splitting.IndexSet.e A
⊢ factorThruImage (θ.unop ≫ Splitting.IndexSet.e A) = e