ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- AlgebraicTopology.DoldKan.Compatibility.τ₀_hom_app
@[simps! hom_app]
def τ₀ : eB.functor ⋙ e'.inverse ⋙ e'.functor ≅ eB.functor 
Arguments: {A' : Type u_2} {B : Type u_3} {B' : Type u_4} [CategoryTheory.Category.{u_5, u_2} A'] [CategoryTheory.Category.{u_6, u_3} B] [CategoryTheory.Category.{u_7, u_4} B'] {eB : B ≌ B'} {e' : A' ≌ B'} (X : B)
Goal: AlgebraicTopology.DoldKan.Compatibility.τ₀.hom.app X = e'.counitIso.hom.app (eB.functor.obj X)
-- AlgebraicTopology.DoldKan.Compatibility.τ₁_hom_app
@[simps! hom_app]
def τ₁ (η : G ⋙ F ≅ eB.functor) : eB.functor ⋙ e'.inverse ⋙ e'.functor ≅ eB.functor 
Arguments: {A : Type u_1} {A' : Type u_2} {B : Type u_3} {B' : Type u_4} [CategoryTheory.Category.{u_5, u_1} A] [CategoryTheory.Category.{u_6, u_2} A'] [CategoryTheory.Category.{u_7, u_3} B] [CategoryTheory.Category.{u_8, u_4} B'] {eA : A ≌ A'} {eB : B ≌ B'} {e' : A' ≌ B'} {F : A ⥤ B'} (hF : eA.functor ⋙ e'.functor ≅ F) {G : B ⥤ A} (hG : eB.functor ⋙ e'.inverse ≅ G ⋙ eA.functor) (η : G ⋙ F ≅ eB.functor) (X : B)
Goal: (AlgebraicTopology.DoldKan.Compatibility.τ₁ hF hG η).hom.app X =
  e'.functor.map (hG.hom.app X) ≫ hF.hom.app (G.obj X) ≫ η.hom.app X
-- AlgebraicTopology.DoldKan.Compatibility.equivalenceCounitIso_hom_app
@[simps!]
def equivalenceCounitIso : G ⋙ F ⋙ eB.inverse ≅ 𝟭 B 
Arguments: {A : Type u_1} {B : Type u_3} {B' : Type u_4} [CategoryTheory.Category.{u_5, u_1} A] [CategoryTheory.Category.{u_6, u_3} B] [CategoryTheory.Category.{u_7, u_4} B'] {eB : B ≌ B'} {F : A ⥤ B'} {G : B ⥤ A} (η : G ⋙ F ≅ eB.functor) (X : B)
Goal: (AlgebraicTopology.DoldKan.Compatibility.equivalenceCounitIso η).hom.app X =
  eB.inverse.map (η.hom.app X) ≫ eB.unitIso.inv.app X
-- AlgebraicTopology.DoldKan.Compatibility.equivalenceCounitIso_inv_app
@[simps!]
def equivalenceCounitIso : G ⋙ F ⋙ eB.inverse ≅ 𝟭 B 
Arguments: {A : Type u_1} {B : Type u_3} {B' : Type u_4} [CategoryTheory.Category.{u_5, u_1} A] [CategoryTheory.Category.{u_6, u_3} B] [CategoryTheory.Category.{u_7, u_4} B'] {eB : B ≌ B'} {F : A ⥤ B'} {G : B ⥤ A} (η : G ⋙ F ≅ eB.functor) (X : B)
Goal: (AlgebraicTopology.DoldKan.Compatibility.equivalenceCounitIso η).inv.app X =
  eB.unitIso.hom.app X ≫ eB.inverse.map (η.inv.app X)
-- AlgebraicTopology.DoldKan.Compatibility.equivalenceCounitIso_eq
theorem equivalenceCounitIso_eq (hη : τ₀ = τ₁ hF hG η) :
    (equivalence hF hG).counitIso = equivalenceCounitIso η 
Arguments: {A : Type u_1} {A' : Type u_2} {B : Type u_3} {B' : Type u_4} [CategoryTheory.Category.{u_8, u_1} A] [CategoryTheory.Category.{u_7, u_2} A'] [CategoryTheory.Category.{u_6, u_3} B] [CategoryTheory.Category.{u_5, u_4} B'] {eA : A ≌ A'} {eB : B ≌ B'} {e' : A' ≌ B'} {F : A ⥤ B'} {hF : eA.functor ⋙ e'.functor ≅ F} {G : B ⥤ A} {hG : eB.functor ⋙ e'.inverse ≅ G ⋙ eA.functor} {η : G ⋙ F ≅ eB.functor} (hη : AlgebraicTopology.DoldKan.Compatibility.τ₀ = AlgebraicTopology.DoldKan.Compatibility.τ₁ hF hG η)
Goal: (AlgebraicTopology.DoldKan.Compatibility.equivalence hF hG).counitIso =
  AlgebraicTopology.DoldKan.Compatibility.equivalenceCounitIso η
-- AlgebraicTopology.DoldKan.Compatibility.υ_inv_app
@[simps!]
def υ : eA.functor ≅ F ⋙ e'.inverse 
Arguments: {A : Type u_1} {A' : Type u_2} {B' : Type u_4} [CategoryTheory.Category.{u_5, u_1} A] [CategoryTheory.Category.{u_6, u_2} A'] [CategoryTheory.Category.{u_7, u_4} B'] {eA : A ≌ A'} {e' : A' ≌ B'} {F : A ⥤ B'} (hF : eA.functor ⋙ e'.functor ≅ F) (X : A)
Goal: (AlgebraicTopology.DoldKan.Compatibility.υ hF).inv.app X =
  e'.inverse.map (hF.inv.app X) ≫ e'.unitIso.inv.app (eA.functor.obj X)
-- AlgebraicTopology.DoldKan.Compatibility.υ_hom_app
@[simps!]
def υ : eA.functor ≅ F ⋙ e'.inverse 
Arguments: {A : Type u_1} {A' : Type u_2} {B' : Type u_4} [CategoryTheory.Category.{u_5, u_1} A] [CategoryTheory.Category.{u_6, u_2} A'] [CategoryTheory.Category.{u_7, u_4} B'] {eA : A ≌ A'} {e' : A' ≌ B'} {F : A ⥤ B'} (hF : eA.functor ⋙ e'.functor ≅ F) (X : A)
Goal: (AlgebraicTopology.DoldKan.Compatibility.υ hF).hom.app X =
  e'.unitIso.hom.app (eA.functor.obj X) ≫ e'.inverse.map (hF.hom.app X)
-- AlgebraicTopology.DoldKan.Compatibility.equivalenceUnitIso_inv_app
@[simps!]
def equivalenceUnitIso : 𝟭 A ≅ (F ⋙ eB.inverse) ⋙ G 
Arguments: {A : Type u_1} {A' : Type u_2} {B : Type u_3} {B' : Type u_4} [CategoryTheory.Category.{u_5, u_1} A] [CategoryTheory.Category.{u_6, u_2} A'] [CategoryTheory.Category.{u_7, u_3} B] [CategoryTheory.Category.{u_8, u_4} B'] {eA : A ≌ A'} {eB : B ≌ B'} {e' : A' ≌ B'} {F : A ⥤ B'} {G : B ⥤ A} (hG : eB.functor ⋙ e'.inverse ≅ G ⋙ eA.functor) (ε : eA.functor ≅ F ⋙ e'.inverse) (X : A)
Goal: (AlgebraicTopology.DoldKan.Compatibility.equivalenceUnitIso hG ε).inv.app X =
  eA.unitIso.hom.app (G.obj (eB.inverse.obj (F.obj X))) ≫
    eA.inverse.map (hG.inv.app (eB.inverse.obj (F.obj X))) ≫
      eA.inverse.map (e'.inverse.map (eB.counitIso.hom.app (F.obj X))) ≫
        eA.inverse.map (ε.inv.app X) ≫ eA.unitIso.inv.app X
-- AlgebraicTopology.DoldKan.Compatibility.equivalenceUnitIso_hom_app
@[simps!]
def equivalenceUnitIso : 𝟭 A ≅ (F ⋙ eB.inverse) ⋙ G 
Arguments: {A : Type u_1} {A' : Type u_2} {B : Type u_3} {B' : Type u_4} [CategoryTheory.Category.{u_5, u_1} A] [CategoryTheory.Category.{u_6, u_2} A'] [CategoryTheory.Category.{u_7, u_3} B] [CategoryTheory.Category.{u_8, u_4} B'] {eA : A ≌ A'} {eB : B ≌ B'} {e' : A' ≌ B'} {F : A ⥤ B'} {G : B ⥤ A} (hG : eB.functor ⋙ e'.inverse ≅ G ⋙ eA.functor) (ε : eA.functor ≅ F ⋙ e'.inverse) (X : A)
Goal: (AlgebraicTopology.DoldKan.Compatibility.equivalenceUnitIso hG ε).hom.app X =
  eA.unitIso.hom.app X ≫
    eA.inverse.map (ε.hom.app X) ≫
      eA.inverse.map (e'.inverse.map (eB.counitIso.inv.app (F.obj X))) ≫
        eA.inverse.map (hG.hom.app (eB.inverse.obj (F.obj X))) ≫ eA.unitIso.inv.app (G.obj (eB.inverse.obj (F.obj X)))
-- AlgebraicTopology.DoldKan.Compatibility.equivalenceUnitIso_eq
theorem equivalenceUnitIso_eq (hε : υ hF = ε) :
    (equivalence hF hG).unitIso = equivalenceUnitIso hG ε 
Arguments: {A : Type u_1} {A' : Type u_2} {B : Type u_3} {B' : Type u_4} [CategoryTheory.Category.{u_6, u_1} A] [CategoryTheory.Category.{u_5, u_2} A'] [CategoryTheory.Category.{u_8, u_3} B] [CategoryTheory.Category.{u_7, u_4} B'] {eA : A ≌ A'} {eB : B ≌ B'} {e' : A' ≌ B'} {F : A ⥤ B'} {hF : eA.functor ⋙ e'.functor ≅ F} {G : B ⥤ A} {hG : eB.functor ⋙ e'.inverse ≅ G ⋙ eA.functor} {ε : eA.functor ≅ F ⋙ e'.inverse} (hε : AlgebraicTopology.DoldKan.Compatibility.υ hF = ε)
Goal: (AlgebraicTopology.DoldKan.Compatibility.equivalence hF hG).unitIso =
  AlgebraicTopology.DoldKan.Compatibility.equivalenceUnitIso hG ε
-- AlgebraicTopology.DoldKan.Isδ₀.iff
theorem iff {j : ℕ} {i : Fin (j + 2)} : Isδ₀ (SimplexCategory.δ i) ↔ i = 0 
Arguments: {j : ℕ} {i : Fin (j + 2)}
Goal: AlgebraicTopology.DoldKan.Isδ₀ (SimplexCategory.δ i) ↔ i = 0
-- AlgebraicTopology.DoldKan.Isδ₀.eq_δ₀
theorem eq_δ₀ {n : ℕ} {i : ([n] : SimplexCategory) ⟶ [n + 1]} [Mono i] (hi : Isδ₀ i) :
    i = SimplexCategory.δ 0 
Arguments: {n : ℕ} {i : [n] ⟶ [n + 1]} [CategoryTheory.Mono i] (hi : AlgebraicTopology.DoldKan.Isδ₀ i)
Goal: i = SimplexCategory.δ 0
-- AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono_id
theorem mapMono_id : mapMono K (𝟙 Δ) = 𝟙 _ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) (Δ : SimplexCategory)
Goal: AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K (𝟙 Δ) = 𝟙 (K.X Δ.len)
-- AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono_δ₀'
theorem mapMono_δ₀' (i : Δ' ⟶ Δ) [Mono i] (hi : Isδ₀ i) : mapMono K i = K.d Δ.len Δ'.len 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) {Δ Δ' : SimplexCategory} (i : Δ' ⟶ Δ) [CategoryTheory.Mono i] (hi : AlgebraicTopology.DoldKan.Isδ₀ i)
Goal: AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K i = K.d Δ.len Δ'.len
-- AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono_δ₀
@[simp]
theorem mapMono_δ₀ {n : ℕ} : mapMono K (δ (0 : Fin (n + 2))) = K.d (n + 1) n 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) {n : ℕ}
Goal: AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K (SimplexCategory.δ 0) = K.d (n + 1) n
-- AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono_eq_zero
theorem mapMono_eq_zero (i : Δ' ⟶ Δ) [Mono i] (h₁ : Δ ≠ Δ') (h₂ : ¬Isδ₀ i) : mapMono K i = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) {Δ Δ' : SimplexCategory} (i : Δ' ⟶ Δ) [CategoryTheory.Mono i] (h₁ : Δ ≠ Δ') (h₂ : ¬AlgebraicTopology.DoldKan.Isδ₀ i)
Goal: AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K i = 0
-- AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono_naturality
@[reassoc (attr := simp)]
theorem mapMono_naturality (i : Δ ⟶ Δ') [Mono i] :
    mapMono K i ≫ f.f Δ.len = f.f Δ'.len ≫ mapMono K' i 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {K K' : ChainComplex C ℕ} (f : K ⟶ K') {Δ Δ' : SimplexCategory} (i : Δ ⟶ Δ') [CategoryTheory.Mono i]
Goal: AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K i ≫ f.f Δ.len =
  f.f Δ'.len ≫ AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K' i
-- AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono_comp
@[reassoc (attr := simp)]
theorem mapMono_comp (i' : Δ'' ⟶ Δ') (i : Δ' ⟶ Δ) [Mono i'] [Mono i] :
    mapMono K i ≫ mapMono K i' = mapMono K (i' ≫ i) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) {Δ Δ' Δ'' : SimplexCategory} (i' : Δ'' ⟶ Δ') (i : Δ' ⟶ Δ) [CategoryTheory.Mono i'] [CategoryTheory.Mono i]
Goal: AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K i ≫ AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K i' =
  AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K (i' ≫ i)
-- AlgebraicTopology.DoldKan.Γ₀.Obj.map_on_summand₀
@[reassoc]
theorem map_on_summand₀ {Δ Δ' : SimplexCategoryᵒᵖ} (A : Splitting.IndexSet Δ) {θ : Δ ⟶ Δ'}
    {Δ'' : SimplexCategory} {e : Δ'.unop ⟶ Δ''} {i : Δ'' ⟶ A.1.unop} [Epi e] [Mono i]
    (fac : e ≫ i = θ.unop ≫ A.e) :
    Sigma.ι (summand K Δ) A ≫ map K θ =
      Termwise.mapMono K i ≫ Sigma.ι (summand K Δ') (Splitting.IndexSet.mk e) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) [CategoryTheory.Limits.HasFiniteCoproducts C] {Δ Δ' : SimplexCategoryᵒᵖ} (A : SimplicialObject.Splitting.IndexSet Δ) {θ : Δ ⟶ Δ'} {Δ'' : SimplexCategory} {e : Opposite.unop Δ' ⟶ Δ''} {i : Δ'' ⟶ Opposite.unop A.fst} [CategoryTheory.Epi e] [CategoryTheory.Mono i] (fac : e ≫ i = θ.unop ≫ A.e)
Goal: CategoryTheory.Limits.Sigma.ι (AlgebraicTopology.DoldKan.Γ₀.Obj.summand K Δ) A ≫
    AlgebraicTopology.DoldKan.Γ₀.Obj.map K θ =
  AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K i ≫
    CategoryTheory.Limits.Sigma.ι (AlgebraicTopology.DoldKan.Γ₀.Obj.summand K Δ')
      (SimplicialObject.Splitting.IndexSet.mk e)
-- AlgebraicTopology.DoldKan.Γ₀.Obj.map_on_summand₀'
@[reassoc]
theorem map_on_summand₀' {Δ Δ' : SimplexCategoryᵒᵖ} (A : Splitting.IndexSet Δ) (θ : Δ ⟶ Δ') :
    Sigma.ι (summand K Δ) A ≫ map K θ =
      Termwise.mapMono K (image.ι (θ.unop ≫ A.e)) ≫ Sigma.ι (summand K _) (A.pull θ) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) [CategoryTheory.Limits.HasFiniteCoproducts C] {Δ Δ' : SimplexCategoryᵒᵖ} (A : SimplicialObject.Splitting.IndexSet Δ) (θ : Δ ⟶ Δ')
Goal: CategoryTheory.Limits.Sigma.ι (AlgebraicTopology.DoldKan.Γ₀.Obj.summand K Δ) A ≫
    AlgebraicTopology.DoldKan.Γ₀.Obj.map K θ =
  AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K (CategoryTheory.Limits.image.ι (θ.unop ≫ A.e)) ≫
    CategoryTheory.Limits.Sigma.ι (AlgebraicTopology.DoldKan.Γ₀.Obj.summand K Δ') (A.pull θ)
-- AlgebraicTopology.DoldKan.Γ₀.obj_obj
@[simps]
def obj (K : ChainComplex C ℕ) : SimplicialObject C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] (K : ChainComplex C ℕ) (Δ : SimplexCategoryᵒᵖ)
Goal: (AlgebraicTopology.DoldKan.Γ₀.obj K).obj Δ = AlgebraicTopology.DoldKan.Γ₀.Obj.obj₂ K Δ
-- AlgebraicTopology.DoldKan.Γ₀.obj_map
@[simps]
def obj (K : ChainComplex C ℕ) : SimplicialObject C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] (K : ChainComplex C ℕ)
Goal: ∀ {X Y : SimplexCategoryᵒᵖ} (θ : X ⟶ Y),
  (AlgebraicTopology.DoldKan.Γ₀.obj K).map θ = AlgebraicTopology.DoldKan.Γ₀.Obj.map K θ
-- AlgebraicTopology.DoldKan.Γ₀.Obj.map_on_summand
@[reassoc]
theorem Obj.map_on_summand {Δ Δ' : SimplexCategoryᵒᵖ} (A : Splitting.IndexSet Δ) (θ : Δ ⟶ Δ')
    {Δ'' : SimplexCategory} {e : Δ'.unop ⟶ Δ''} {i : Δ'' ⟶ A.1.unop} [Epi e] [Mono i]
    (fac : e ≫ i = θ.unop ≫ A.e) :
    ((Γ₀.splitting K).cofan Δ).inj A ≫ (Γ₀.obj K).map θ =
      Γ₀.Obj.Termwise.mapMono K i ≫ ((Γ₀.splitting K).cofan Δ').inj (Splitting.IndexSet.mk e) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) [CategoryTheory.Limits.HasFiniteCoproducts C] {Δ Δ' : SimplexCategoryᵒᵖ} (A : SimplicialObject.Splitting.IndexSet Δ) (θ : Δ ⟶ Δ') {Δ'' : SimplexCategory} {e : Opposite.unop Δ' ⟶ Δ''} {i : Δ'' ⟶ Opposite.unop A.fst} [CategoryTheory.Epi e] [CategoryTheory.Mono i] (fac : e ≫ i = θ.unop ≫ A.e)
Goal: ((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan Δ).inj A ≫ (AlgebraicTopology.DoldKan.Γ₀.obj K).map θ =
  AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K i ≫
    ((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan Δ').inj (SimplicialObject.Splitting.IndexSet.mk e)
-- AlgebraicTopology.DoldKan.Γ₀.Obj.map_on_summand'
@[reassoc]
theorem Obj.map_on_summand' {Δ Δ' : SimplexCategoryᵒᵖ} (A : Splitting.IndexSet Δ) (θ : Δ ⟶ Δ') :
    ((splitting K).cofan Δ).inj A ≫ (obj K).map θ =
      Obj.Termwise.mapMono K (image.ι (θ.unop ≫ A.e)) ≫
        ((splitting K).cofan Δ').inj (A.pull θ) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) [CategoryTheory.Limits.HasFiniteCoproducts C] {Δ Δ' : SimplexCategoryᵒᵖ} (A : SimplicialObject.Splitting.IndexSet Δ) (θ : Δ ⟶ Δ')
Goal: ((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan Δ).inj A ≫ (AlgebraicTopology.DoldKan.Γ₀.obj K).map θ =
  AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K (CategoryTheory.Limits.image.ι (θ.unop ≫ A.e)) ≫
    ((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan Δ').inj (A.pull θ)
-- AlgebraicTopology.DoldKan.Γ₀.Obj.mapMono_on_summand_id
@[reassoc]
theorem Obj.mapMono_on_summand_id {Δ Δ' : SimplexCategory} (i : Δ' ⟶ Δ) [Mono i] :
    ((splitting K).cofan _).inj (Splitting.IndexSet.id (op Δ)) ≫ (obj K).map i.op =
      Obj.Termwise.mapMono K i ≫ ((splitting K).cofan _).inj (Splitting.IndexSet.id (op Δ')) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) [CategoryTheory.Limits.HasFiniteCoproducts C] {Δ Δ' : SimplexCategory} (i : Δ' ⟶ Δ) [CategoryTheory.Mono i]
Goal: ((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op Δ)).inj
      (SimplicialObject.Splitting.IndexSet.id (Opposite.op Δ)) ≫
    (AlgebraicTopology.DoldKan.Γ₀.obj K).map i.op =
  AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K i ≫
    ((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op Δ')).inj
      (SimplicialObject.Splitting.IndexSet.id (Opposite.op Δ'))
-- AlgebraicTopology.DoldKan.Γ₀.Obj.map_epi_on_summand_id
@[reassoc]
theorem Obj.map_epi_on_summand_id {Δ Δ' : SimplexCategory} (e : Δ' ⟶ Δ) [Epi e] :
    ((Γ₀.splitting K).cofan _).inj (Splitting.IndexSet.id (op Δ)) ≫ (Γ₀.obj K).map e.op =
      ((Γ₀.splitting K).cofan _).inj (Splitting.IndexSet.mk e) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) [CategoryTheory.Limits.HasFiniteCoproducts C] {Δ Δ' : SimplexCategory} (e : Δ' ⟶ Δ) [CategoryTheory.Epi e]
Goal: ((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op Δ)).inj
      (SimplicialObject.Splitting.IndexSet.id (Opposite.op Δ)) ≫
    (AlgebraicTopology.DoldKan.Γ₀.obj K).map e.op =
  ((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op Δ')).inj (SimplicialObject.Splitting.IndexSet.mk e)
-- AlgebraicTopology.DoldKan.Γ₀.map_app
@[simps]
def map {K K' : ChainComplex C ℕ} (f : K ⟶ K') : obj K ⟶ obj K' 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] {K K' : ChainComplex C ℕ} (f : K ⟶ K') (Δ : SimplexCategoryᵒᵖ)
Goal: (AlgebraicTopology.DoldKan.Γ₀.map f).app Δ =
  (AlgebraicTopology.DoldKan.Γ₀.splitting K).desc Δ fun A =>
    f.f (Opposite.unop A.fst).len ≫ ((AlgebraicTopology.DoldKan.Γ₀.splitting K').cofan Δ).inj A
-- AlgebraicTopology.DoldKan.Γ₀'_map_F
@[simps]
def Γ₀' : ChainComplex C ℕ ⥤ SimplicialObject.Split C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] {K K' : ChainComplex C ℕ} (f : K ⟶ K')
Goal: (AlgebraicTopology.DoldKan.Γ₀'.map f).F = AlgebraicTopology.DoldKan.Γ₀.map f
-- AlgebraicTopology.DoldKan.Γ₀'_obj
@[simps]
def Γ₀' : ChainComplex C ℕ ⥤ SimplicialObject.Split C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] (K : ChainComplex C ℕ)
Goal: AlgebraicTopology.DoldKan.Γ₀'.obj K = SimplicialObject.Split.mk' (AlgebraicTopology.DoldKan.Γ₀.splitting K)
-- AlgebraicTopology.DoldKan.Γ₀'_map_f
@[simps]
def Γ₀' : ChainComplex C ℕ ⥤ SimplicialObject.Split C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] {K K' : ChainComplex C ℕ} (f : K ⟶ K') (i : ℕ)
Goal: (AlgebraicTopology.DoldKan.Γ₀'.map f).f i = f.f i
-- AlgebraicTopology.DoldKan.Γ₀_obj_obj
@[simps!]
def Γ₀ : ChainComplex C ℕ ⥤ SimplicialObject C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] (X : ChainComplex C ℕ) (Δ : SimplexCategoryᵒᵖ)
Goal: (AlgebraicTopology.DoldKan.Γ₀.obj X).obj Δ = AlgebraicTopology.DoldKan.Γ₀.Obj.obj₂ X Δ
-- AlgebraicTopology.DoldKan.Γ₀_obj_map
@[simps!]
def Γ₀ : ChainComplex C ℕ ⥤ SimplicialObject C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] (X : ChainComplex C ℕ)
Goal: ∀ {X_1 Y : SimplexCategoryᵒᵖ} (θ : X_1 ⟶ Y),
  (AlgebraicTopology.DoldKan.Γ₀.obj X).map θ = AlgebraicTopology.DoldKan.Γ₀.Obj.map X θ
-- AlgebraicTopology.DoldKan.Γ₀_map_app
@[simps!]
def Γ₀ : ChainComplex C ℕ ⥤ SimplicialObject C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C]
Goal: ∀ {X Y : ChainComplex C ℕ} (f : X ⟶ Y) (Δ : SimplexCategoryᵒᵖ),
  (AlgebraicTopology.DoldKan.Γ₀.map f).app Δ =
    (AlgebraicTopology.DoldKan.Γ₀.splitting X).desc Δ fun A =>
      f.f (Opposite.unop A.fst).len ≫ ((AlgebraicTopology.DoldKan.Γ₀.splitting Y).cofan Δ).inj A
-- AlgebraicTopology.DoldKan.Γ₂_obj_p_app
@[simps!]
def Γ₂ : Karoubi (ChainComplex C ℕ) ⥤ Karoubi (SimplicialObject C) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] (P : CategoryTheory.Idempotents.Karoubi (ChainComplex C ℕ)) (Δ : SimplexCategoryᵒᵖ)
Goal: (AlgebraicTopology.DoldKan.Γ₂.obj P).p.app Δ =
  (AlgebraicTopology.DoldKan.Γ₀.splitting P.X).desc Δ fun A =>
    P.p.f (Opposite.unop A.fst).len ≫ ((AlgebraicTopology.DoldKan.Γ₀.splitting P.X).cofan Δ).inj A
-- AlgebraicTopology.DoldKan.Γ₂_obj_X_obj
@[simps!]
def Γ₂ : Karoubi (ChainComplex C ℕ) ⥤ Karoubi (SimplicialObject C) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] (P : CategoryTheory.Idempotents.Karoubi (ChainComplex C ℕ)) (Δ : SimplexCategoryᵒᵖ)
Goal: (AlgebraicTopology.DoldKan.Γ₂.obj P).X.obj Δ = AlgebraicTopology.DoldKan.Γ₀.Obj.obj₂ P.X Δ
-- AlgebraicTopology.DoldKan.Γ₂_obj_X_map
@[simps!]
def Γ₂ : Karoubi (ChainComplex C ℕ) ⥤ Karoubi (SimplicialObject C) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] (P : CategoryTheory.Idempotents.Karoubi (ChainComplex C ℕ))
Goal: ∀ {X Y : SimplexCategoryᵒᵖ} (θ : X ⟶ Y),
  (AlgebraicTopology.DoldKan.Γ₂.obj P).X.map θ = AlgebraicTopology.DoldKan.Γ₀.Obj.map P.X θ
-- AlgebraicTopology.DoldKan.Γ₂_map_f_app
@[simps!]
def Γ₂ : Karoubi (ChainComplex C ℕ) ⥤ Karoubi (SimplicialObject C) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C]
Goal: ∀ {X Y : CategoryTheory.Idempotents.Karoubi (ChainComplex C ℕ)} (f : X ⟶ Y) (Δ : SimplexCategoryᵒᵖ),
  (AlgebraicTopology.DoldKan.Γ₂.map f).f.app Δ =
    (AlgebraicTopology.DoldKan.Γ₀.splitting X.X).desc Δ fun A =>
      f.f.f (Opposite.unop A.fst).len ≫ ((AlgebraicTopology.DoldKan.Γ₀.splitting Y.X).cofan Δ).inj A
-- AlgebraicTopology.DoldKan.HigherFacesVanish.on_Γ₀_summand_id
theorem HigherFacesVanish.on_Γ₀_summand_id (K : ChainComplex C ℕ) (n : ℕ) :
    @HigherFacesVanish C _ _ (Γ₀.obj K) _ n (n + 1)
      (((Γ₀.splitting K).cofan _).inj (Splitting.IndexSet.id (op [n + 1]))) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] (K : ChainComplex C ℕ) (n : ℕ)
Goal: AlgebraicTopology.DoldKan.HigherFacesVanish (n + 1)
  (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op [n + 1])).inj
    (SimplicialObject.Splitting.IndexSet.id (Opposite.op [n + 1])))
-- AlgebraicTopology.DoldKan.PInfty_on_Γ₀_splitting_summand_eq_self
@[reassoc (attr := simp)]
theorem PInfty_on_Γ₀_splitting_summand_eq_self (K : ChainComplex C ℕ) {n : ℕ} :
    ((Γ₀.splitting K).cofan _).inj (Splitting.IndexSet.id (op [n])) ≫
      (PInfty : K[Γ₀.obj K] ⟶ _).f n =
      ((Γ₀.splitting K).cofan _).inj (Splitting.IndexSet.id (op [n])) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] (K : ChainComplex C ℕ) {n : ℕ}
Goal: ((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op [n])).inj
      (SimplicialObject.Splitting.IndexSet.id (Opposite.op [n])) ≫
    AlgebraicTopology.DoldKan.PInfty.f n =
  ((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op [n])).inj
    (SimplicialObject.Splitting.IndexSet.id (Opposite.op [n]))
-- Lists'.toList_cons
@[simp]
theorem toList_cons (a : Lists α) (l) : toList (cons a l) = a :: l.toList 
Arguments: {α : Type u_1} (a : Lists α) (l : Lists' α true)
Goal: (Lists'.cons a l).toList = a :: l.toList
-- Lists'.to_ofList
@[simp]
theorem to_ofList (l : List (Lists α)) : toList (ofList l) = l 
Arguments: {α : Type u_1} (l : List (Lists α))
Goal: (Lists'.ofList l).toList = l
-- Lists'.of_toList
@[simp]
theorem of_toList : ∀ l : Lists' α true, ofList (toList l) = l 
Arguments: {α : Type u_1} (l : Lists' α true)
Goal: Lists'.ofList l.toList = l
-- Lists'.mem_def
theorem mem_def {b a} {l : Lists' α b} : a ∈ l ↔ ∃ a' ∈ l.toList, a ~ a' 
Arguments: {α : Type u_1} {b : Bool} {a : Lists α} {l : Lists' α b}
Goal: a ∈ l ↔ ∃ a' ∈ l.toList, a ~ a'
-- Lists'.mem_cons
@[simp]
theorem mem_cons {a y l} : a ∈ @cons α y l ↔ a ~ y ∨ a ∈ l 
Arguments: {α : Type u_1} {a y : Lists α} {l : Lists' α true}
Goal: a ∈ Lists'.cons y l ↔ a ~ y ∨ a ∈ l
-- Lists'.cons_subset
theorem cons_subset {a} {l₁ l₂ : Lists' α true} : Lists'.cons a l₁ ⊆ l₂ ↔ a ∈ l₂ ∧ l₁ ⊆ l₂ 
Arguments: {α : Type u_1} {a : Lists α} {l₁ l₂ : Lists' α true}
Goal: Lists'.cons a l₁ ⊆ l₂ ↔ a ∈ l₂ ∧ l₁ ⊆ l₂
-- Lists'.ofList_subset
theorem ofList_subset {l₁ l₂ : List (Lists α)} (h : l₁ ⊆ l₂) :
    Lists'.ofList l₁ ⊆ Lists'.ofList l₂ 
Arguments: {α : Type u_1} {l₁ l₂ : List (Lists α)} (h : l₁ ⊆ l₂)
Goal: Lists'.ofList l₁ ⊆ Lists'.ofList l₂
-- Lists'.Subset.refl
@[refl]
theorem Subset.refl {l : Lists' α true} : l ⊆ l 
Arguments: {α : Type u_1} {l : Lists' α true}
Goal: l ⊆ l