ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.ComposableArrows.isoMk₃_hom
@[simps]
def isoMk₃ {f g : ComposableArrows C 3}
    (app₀ : f.obj' 0 ≅ g.obj' 0) (app₁ : f.obj' 1 ≅ g.obj' 1) (app₂ : f.obj' 2 ≅ g.obj' 2)
    (app₃ : f.obj' 3 ≅ g.obj' 3)
    (w₀ : f.map' 0 1 ≫ app₁.hom = app₀.hom ≫ g.map' 0 1)
    (w₁ : f.map' 1 2 ≫ app₂.hom = app₁.hom ≫ g.map' 1 2)
    (w₂ : f.map' 2 3 ≫ app₃.hom = app₂.hom ≫ g.map' 2 3) : f ≅ g 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 3} (app₀ : f.obj' 0 ⋯ ≅ g.obj' 0 ⋯) (app₁ : f.obj' 1 ⋯ ≅ g.obj' 1 ⋯) (app₂ : f.obj' 2 ⋯ ≅ g.obj' 2 ⋯) (app₃ : f.obj' 3 ⋯ ≅ g.obj' 3 ⋯) (w₀ :
  CategoryTheory.CategoryStruct.comp (f.map' 0 1 ⋯ ⋯) app₁.hom =
    CategoryTheory.CategoryStruct.comp app₀.hom (g.map' 0 1 ⋯ ⋯)) (w₁ :
  CategoryTheory.CategoryStruct.comp (f.map' 1 2 ⋯ ⋯) app₂.hom =
    CategoryTheory.CategoryStruct.comp app₁.hom (g.map' 1 2 ⋯ ⋯)) (w₂ :
  CategoryTheory.CategoryStruct.comp (f.map' 2 3 ⋯ ⋯) app₃.hom =
    CategoryTheory.CategoryStruct.comp app₂.hom (g.map' 2 3 ⋯ ⋯))
Goal: (CategoryTheory.ComposableArrows.isoMk₃ app₀ app₁ app₂ app₃ w₀ w₁ w₂).hom =
  CategoryTheory.ComposableArrows.homMk₃ app₀.hom app₁.hom app₂.hom app₃.hom w₀ w₁ w₂
-- CategoryTheory.ComposableArrows.isoMk₃_inv
@[simps]
def isoMk₃ {f g : ComposableArrows C 3}
    (app₀ : f.obj' 0 ≅ g.obj' 0) (app₁ : f.obj' 1 ≅ g.obj' 1) (app₂ : f.obj' 2 ≅ g.obj' 2)
    (app₃ : f.obj' 3 ≅ g.obj' 3)
    (w₀ : f.map' 0 1 ≫ app₁.hom = app₀.hom ≫ g.map' 0 1)
    (w₁ : f.map' 1 2 ≫ app₂.hom = app₁.hom ≫ g.map' 1 2)
    (w₂ : f.map' 2 3 ≫ app₃.hom = app₂.hom ≫ g.map' 2 3) : f ≅ g 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 3} (app₀ : f.obj' 0 ⋯ ≅ g.obj' 0 ⋯) (app₁ : f.obj' 1 ⋯ ≅ g.obj' 1 ⋯) (app₂ : f.obj' 2 ⋯ ≅ g.obj' 2 ⋯) (app₃ : f.obj' 3 ⋯ ≅ g.obj' 3 ⋯) (w₀ :
  CategoryTheory.CategoryStruct.comp (f.map' 0 1 ⋯ ⋯) app₁.hom =
    CategoryTheory.CategoryStruct.comp app₀.hom (g.map' 0 1 ⋯ ⋯)) (w₁ :
  CategoryTheory.CategoryStruct.comp (f.map' 1 2 ⋯ ⋯) app₂.hom =
    CategoryTheory.CategoryStruct.comp app₁.hom (g.map' 1 2 ⋯ ⋯)) (w₂ :
  CategoryTheory.CategoryStruct.comp (f.map' 2 3 ⋯ ⋯) app₃.hom =
    CategoryTheory.CategoryStruct.comp app₂.hom (g.map' 2 3 ⋯ ⋯))
Goal: (CategoryTheory.ComposableArrows.isoMk₃ app₀ app₁ app₂ app₃ w₀ w₁ w₂).inv =
  CategoryTheory.ComposableArrows.homMk₃ app₀.inv app₁.inv app₂.inv app₃.inv ⋯ ⋯ ⋯
-- CategoryTheory.ComposableArrows.ext₃
lemma ext₃ {f g : ComposableArrows C 3}
    (h₀ : f.obj' 0 = g.obj' 0) (h₁ : f.obj' 1 = g.obj' 1) (h₂ : f.obj' 2 = g.obj' 2)
    (h₃ : f.obj' 3 = g.obj' 3)
    (w₀ : f.map' 0 1 = eqToHom h₀ ≫ g.map' 0 1 ≫ eqToHom h₁.symm)
    (w₁ : f.map' 1 2 = eqToHom h₁ ≫ g.map' 1 2 ≫ eqToHom h₂.symm)
    (w₂ : f.map' 2 3 = eqToHom h₂ ≫ g.map' 2 3 ≫ eqToHom h₃.symm) : f = g 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 3} (h₀ : f.obj' 0 ⋯ = g.obj' 0 ⋯) (h₁ : f.obj' 1 ⋯ = g.obj' 1 ⋯) (h₂ : f.obj' 2 ⋯ = g.obj' 2 ⋯) (h₃ : f.obj' 3 ⋯ = g.obj' 3 ⋯) (w₀ :
  f.map' 0 1 ⋯ ⋯ =
    CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom h₀)
      (CategoryTheory.CategoryStruct.comp (g.map' 0 1 ⋯ ⋯) (CategoryTheory.eqToHom ⋯))) (w₁ :
  f.map' 1 2 ⋯ ⋯ =
    CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom h₁)
      (CategoryTheory.CategoryStruct.comp (g.map' 1 2 ⋯ ⋯) (CategoryTheory.eqToHom ⋯))) (w₂ :
  f.map' 2 3 ⋯ ⋯ =
    CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom h₂)
      (CategoryTheory.CategoryStruct.comp (g.map' 2 3 ⋯ ⋯) (CategoryTheory.eqToHom ⋯)))
Goal: f = g
-- CategoryTheory.ComposableArrows.mk₃_surjective
lemma mk₃_surjective (X : ComposableArrows C 3) :
    ∃ (X₀ X₁ X₂ X₃ : C) (f₀ : X₀ ⟶ X₁) (f₁ : X₁ ⟶ X₂) (f₂ : X₂ ⟶ X₃), X = mk₃ f₀ f₁ f₂ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] (X : CategoryTheory.ComposableArrows C 3)
Goal: ∃ X₀ X₁ X₂ X₃ f₀ f₁ f₂, X = CategoryTheory.ComposableArrows.mk₃ f₀ f₁ f₂
-- CategoryTheory.ComposableArrows.homMk₄_app_zero
@[simp]
lemma homMk₄_app_zero : (homMk₄ app₀ app₁ app₂ app₃ app₄ w₀ w₁ w₂ w₃).app 0 = app₀ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 4} (app₀ : f.obj' 0 ⋯ ⟶ g.obj' 0 ⋯) (app₁ : f.obj' 1 ⋯ ⟶ g.obj' 1 ⋯) (app₂ : f.obj' 2 ⋯ ⟶ g.obj' 2 ⋯) (app₃ : f.obj' 3 ⋯ ⟶ g.obj' 3 ⋯) (app₄ : f.obj' 4 ⋯ ⟶ g.obj' 4 ⋯) (w₀ :
  CategoryTheory.CategoryStruct.comp (f.map' 0 1 ⋯ ⋯) app₁ = CategoryTheory.CategoryStruct.comp app₀ (g.map' 0 1 ⋯ ⋯)) (w₁ :
  CategoryTheory.CategoryStruct.comp (f.map' 1 2 ⋯ ⋯) app₂ = CategoryTheory.CategoryStruct.comp app₁ (g.map' 1 2 ⋯ ⋯)) (w₂ :
  CategoryTheory.CategoryStruct.comp (f.map' 2 3 ⋯ ⋯) app₃ = CategoryTheory.CategoryStruct.comp app₂ (g.map' 2 3 ⋯ ⋯)) (w₃ :
  CategoryTheory.CategoryStruct.comp (f.map' 3 4 ⋯ ⋯) app₄ = CategoryTheory.CategoryStruct.comp app₃ (g.map' 3 4 ⋯ ⋯))
Goal: (CategoryTheory.ComposableArrows.homMk₄ app₀ app₁ app₂ app₃ app₄ w₀ w₁ w₂ w₃).app 0 = app₀
-- CategoryTheory.ComposableArrows.homMk₄_app_one
@[simp]
lemma homMk₄_app_one : (homMk₄ app₀ app₁ app₂ app₃ app₄ w₀ w₁ w₂ w₃).app 1 = app₁ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 4} (app₀ : f.obj' 0 ⋯ ⟶ g.obj' 0 ⋯) (app₁ : f.obj' 1 ⋯ ⟶ g.obj' 1 ⋯) (app₂ : f.obj' 2 ⋯ ⟶ g.obj' 2 ⋯) (app₃ : f.obj' 3 ⋯ ⟶ g.obj' 3 ⋯) (app₄ : f.obj' 4 ⋯ ⟶ g.obj' 4 ⋯) (w₀ :
  CategoryTheory.CategoryStruct.comp (f.map' 0 1 ⋯ ⋯) app₁ = CategoryTheory.CategoryStruct.comp app₀ (g.map' 0 1 ⋯ ⋯)) (w₁ :
  CategoryTheory.CategoryStruct.comp (f.map' 1 2 ⋯ ⋯) app₂ = CategoryTheory.CategoryStruct.comp app₁ (g.map' 1 2 ⋯ ⋯)) (w₂ :
  CategoryTheory.CategoryStruct.comp (f.map' 2 3 ⋯ ⋯) app₃ = CategoryTheory.CategoryStruct.comp app₂ (g.map' 2 3 ⋯ ⋯)) (w₃ :
  CategoryTheory.CategoryStruct.comp (f.map' 3 4 ⋯ ⋯) app₄ = CategoryTheory.CategoryStruct.comp app₃ (g.map' 3 4 ⋯ ⋯))
Goal: (CategoryTheory.ComposableArrows.homMk₄ app₀ app₁ app₂ app₃ app₄ w₀ w₁ w₂ w₃).app 1 = app₁
-- CategoryTheory.ComposableArrows.homMk₄_app_two
@[simp]
lemma homMk₄_app_two :
    (homMk₄ app₀ app₁ app₂ app₃ app₄ w₀ w₁ w₂ w₃).app ⟨2, by valid⟩ = app₂ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 4} (app₀ : f.obj' 0 ⋯ ⟶ g.obj' 0 ⋯) (app₁ : f.obj' 1 ⋯ ⟶ g.obj' 1 ⋯) (app₂ : f.obj' 2 ⋯ ⟶ g.obj' 2 ⋯) (app₃ : f.obj' 3 ⋯ ⟶ g.obj' 3 ⋯) (app₄ : f.obj' 4 ⋯ ⟶ g.obj' 4 ⋯) (w₀ :
  CategoryTheory.CategoryStruct.comp (f.map' 0 1 ⋯ ⋯) app₁ = CategoryTheory.CategoryStruct.comp app₀ (g.map' 0 1 ⋯ ⋯)) (w₁ :
  CategoryTheory.CategoryStruct.comp (f.map' 1 2 ⋯ ⋯) app₂ = CategoryTheory.CategoryStruct.comp app₁ (g.map' 1 2 ⋯ ⋯)) (w₂ :
  CategoryTheory.CategoryStruct.comp (f.map' 2 3 ⋯ ⋯) app₃ = CategoryTheory.CategoryStruct.comp app₂ (g.map' 2 3 ⋯ ⋯)) (w₃ :
  CategoryTheory.CategoryStruct.comp (f.map' 3 4 ⋯ ⋯) app₄ = CategoryTheory.CategoryStruct.comp app₃ (g.map' 3 4 ⋯ ⋯))
Goal: (CategoryTheory.ComposableArrows.homMk₄ app₀ app₁ app₂ app₃ app₄ w₀ w₁ w₂ w₃).app ⟨2, ⋯⟩ = app₂
-- CategoryTheory.ComposableArrows.homMk₄_app_three
@[simp]
lemma homMk₄_app_three :
    (homMk₄ app₀ app₁ app₂ app₃ app₄ w₀ w₁ w₂ w₃).app ⟨3, by valid⟩ = app₃ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 4} (app₀ : f.obj' 0 ⋯ ⟶ g.obj' 0 ⋯) (app₁ : f.obj' 1 ⋯ ⟶ g.obj' 1 ⋯) (app₂ : f.obj' 2 ⋯ ⟶ g.obj' 2 ⋯) (app₃ : f.obj' 3 ⋯ ⟶ g.obj' 3 ⋯) (app₄ : f.obj' 4 ⋯ ⟶ g.obj' 4 ⋯) (w₀ :
  CategoryTheory.CategoryStruct.comp (f.map' 0 1 ⋯ ⋯) app₁ = CategoryTheory.CategoryStruct.comp app₀ (g.map' 0 1 ⋯ ⋯)) (w₁ :
  CategoryTheory.CategoryStruct.comp (f.map' 1 2 ⋯ ⋯) app₂ = CategoryTheory.CategoryStruct.comp app₁ (g.map' 1 2 ⋯ ⋯)) (w₂ :
  CategoryTheory.CategoryStruct.comp (f.map' 2 3 ⋯ ⋯) app₃ = CategoryTheory.CategoryStruct.comp app₂ (g.map' 2 3 ⋯ ⋯)) (w₃ :
  CategoryTheory.CategoryStruct.comp (f.map' 3 4 ⋯ ⋯) app₄ = CategoryTheory.CategoryStruct.comp app₃ (g.map' 3 4 ⋯ ⋯))
Goal: (CategoryTheory.ComposableArrows.homMk₄ app₀ app₁ app₂ app₃ app₄ w₀ w₁ w₂ w₃).app ⟨3, ⋯⟩ = app₃
-- CategoryTheory.ComposableArrows.homMk₄_app_four
@[simp]
lemma homMk₄_app_four :
    (homMk₄ app₀ app₁ app₂ app₃ app₄ w₀ w₁ w₂ w₃).app ⟨4, by valid⟩ = app₄ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 4} (app₀ : f.obj' 0 ⋯ ⟶ g.obj' 0 ⋯) (app₁ : f.obj' 1 ⋯ ⟶ g.obj' 1 ⋯) (app₂ : f.obj' 2 ⋯ ⟶ g.obj' 2 ⋯) (app₃ : f.obj' 3 ⋯ ⟶ g.obj' 3 ⋯) (app₄ : f.obj' 4 ⋯ ⟶ g.obj' 4 ⋯) (w₀ :
  CategoryTheory.CategoryStruct.comp (f.map' 0 1 ⋯ ⋯) app₁ = CategoryTheory.CategoryStruct.comp app₀ (g.map' 0 1 ⋯ ⋯)) (w₁ :
  CategoryTheory.CategoryStruct.comp (f.map' 1 2 ⋯ ⋯) app₂ = CategoryTheory.CategoryStruct.comp app₁ (g.map' 1 2 ⋯ ⋯)) (w₂ :
  CategoryTheory.CategoryStruct.comp (f.map' 2 3 ⋯ ⋯) app₃ = CategoryTheory.CategoryStruct.comp app₂ (g.map' 2 3 ⋯ ⋯)) (w₃ :
  CategoryTheory.CategoryStruct.comp (f.map' 3 4 ⋯ ⋯) app₄ = CategoryTheory.CategoryStruct.comp app₃ (g.map' 3 4 ⋯ ⋯))
Goal: (CategoryTheory.ComposableArrows.homMk₄ app₀ app₁ app₂ app₃ app₄ w₀ w₁ w₂ w₃).app ⟨4, ⋯⟩ = app₄
-- CategoryTheory.ComposableArrows.hom_ext₄
@[ext]
lemma hom_ext₄ {f g : ComposableArrows C 4} {φ φ' : f ⟶ g}
    (h₀ : app' φ 0 = app' φ' 0) (h₁ : app' φ 1 = app' φ' 1) (h₂ : app' φ 2 = app' φ' 2)
    (h₃ : app' φ 3 = app' φ' 3) (h₄ : app' φ 4 = app' φ' 4) :
    φ = φ' 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 4} {φ φ' : f ⟶ g} (h₀ : CategoryTheory.ComposableArrows.app' φ 0 ⋯ = CategoryTheory.ComposableArrows.app' φ' 0 ⋯) (h₁ : CategoryTheory.ComposableArrows.app' φ 1 ⋯ = CategoryTheory.ComposableArrows.app' φ' 1 ⋯) (h₂ : CategoryTheory.ComposableArrows.app' φ 2 ⋯ = CategoryTheory.ComposableArrows.app' φ' 2 ⋯) (h₃ : CategoryTheory.ComposableArrows.app' φ 3 ⋯ = CategoryTheory.ComposableArrows.app' φ' 3 ⋯) (h₄ : CategoryTheory.ComposableArrows.app' φ 4 ⋯ = CategoryTheory.ComposableArrows.app' φ' 4 ⋯)
Goal: φ = φ'
-- CategoryTheory.ComposableArrows.map'_inv_eq_inv_map'
lemma map'_inv_eq_inv_map' {n m : ℕ} (h : n+1 ≤ m) {f g : ComposableArrows C m}
    (app : f.obj' n ≅ g.obj' n) (app' : f.obj' (n+1) ≅ g.obj' (n+1))
    (w : f.map' n (n+1) ≫ app'.hom = app.hom ≫ g.map' n (n+1)) :
    map' g n (n+1) ≫ app'.inv = app.inv ≫ map' f n (n+1) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {n m : ℕ} (h : n + 1 ≤ m) {f g : CategoryTheory.ComposableArrows C m} (app : f.obj' n ⋯ ≅ g.obj' n ⋯) (app' : f.obj' (n + 1) h ≅ g.obj' (n + 1) h) (w :
  CategoryTheory.CategoryStruct.comp (f.map' n (n + 1) ⋯ h) app'.hom =
    CategoryTheory.CategoryStruct.comp app.hom (g.map' n (n + 1) ⋯ h))
Goal: CategoryTheory.CategoryStruct.comp (g.map' n (n + 1) ⋯ h) app'.inv =
  CategoryTheory.CategoryStruct.comp app.inv (f.map' n (n + 1) ⋯ h)
-- CategoryTheory.ComposableArrows.isoMk₄_hom
@[simps]
def isoMk₄ {f g : ComposableArrows C 4}
    (app₀ : f.obj' 0 ≅ g.obj' 0) (app₁ : f.obj' 1 ≅ g.obj' 1) (app₂ : f.obj' 2 ≅ g.obj' 2)
    (app₃ : f.obj' 3 ≅ g.obj' 3) (app₄ : f.obj' 4 ≅ g.obj' 4)
    (w₀ : f.map' 0 1 ≫ app₁.hom = app₀.hom ≫ g.map' 0 1)
    (w₁ : f.map' 1 2 ≫ app₂.hom = app₁.hom ≫ g.map' 1 2)
    (w₂ : f.map' 2 3 ≫ app₃.hom = app₂.hom ≫ g.map' 2 3)
    (w₃ : f.map' 3 4 ≫ app₄.hom = app₃.hom ≫ g.map' 3 4) :
    f ≅ g 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 4} (app₀ : f.obj' 0 ⋯ ≅ g.obj' 0 ⋯) (app₁ : f.obj' 1 ⋯ ≅ g.obj' 1 ⋯) (app₂ : f.obj' 2 ⋯ ≅ g.obj' 2 ⋯) (app₃ : f.obj' 3 ⋯ ≅ g.obj' 3 ⋯) (app₄ : f.obj' 4 ⋯ ≅ g.obj' 4 ⋯) (w₀ :
  CategoryTheory.CategoryStruct.comp (f.map' 0 1 ⋯ ⋯) app₁.hom =
    CategoryTheory.CategoryStruct.comp app₀.hom (g.map' 0 1 ⋯ ⋯)) (w₁ :
  CategoryTheory.CategoryStruct.comp (f.map' 1 2 ⋯ ⋯) app₂.hom =
    CategoryTheory.CategoryStruct.comp app₁.hom (g.map' 1 2 ⋯ ⋯)) (w₂ :
  CategoryTheory.CategoryStruct.comp (f.map' 2 3 ⋯ ⋯) app₃.hom =
    CategoryTheory.CategoryStruct.comp app₂.hom (g.map' 2 3 ⋯ ⋯)) (w₃ :
  CategoryTheory.CategoryStruct.comp (f.map' 3 4 ⋯ ⋯) app₄.hom =
    CategoryTheory.CategoryStruct.comp app₃.hom (g.map' 3 4 ⋯ ⋯))
Goal: (CategoryTheory.ComposableArrows.isoMk₄ app₀ app₁ app₂ app₃ app₄ w₀ w₁ w₂ w₃).hom =
  CategoryTheory.ComposableArrows.homMk₄ app₀.hom app₁.hom app₂.hom app₃.hom app₄.hom w₀ w₁ w₂ w₃
-- CategoryTheory.ComposableArrows.isoMk₄_inv
@[simps]
def isoMk₄ {f g : ComposableArrows C 4}
    (app₀ : f.obj' 0 ≅ g.obj' 0) (app₁ : f.obj' 1 ≅ g.obj' 1) (app₂ : f.obj' 2 ≅ g.obj' 2)
    (app₃ : f.obj' 3 ≅ g.obj' 3) (app₄ : f.obj' 4 ≅ g.obj' 4)
    (w₀ : f.map' 0 1 ≫ app₁.hom = app₀.hom ≫ g.map' 0 1)
    (w₁ : f.map' 1 2 ≫ app₂.hom = app₁.hom ≫ g.map' 1 2)
    (w₂ : f.map' 2 3 ≫ app₃.hom = app₂.hom ≫ g.map' 2 3)
    (w₃ : f.map' 3 4 ≫ app₄.hom = app₃.hom ≫ g.map' 3 4) :
    f ≅ g 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 4} (app₀ : f.obj' 0 ⋯ ≅ g.obj' 0 ⋯) (app₁ : f.obj' 1 ⋯ ≅ g.obj' 1 ⋯) (app₂ : f.obj' 2 ⋯ ≅ g.obj' 2 ⋯) (app₃ : f.obj' 3 ⋯ ≅ g.obj' 3 ⋯) (app₄ : f.obj' 4 ⋯ ≅ g.obj' 4 ⋯) (w₀ :
  CategoryTheory.CategoryStruct.comp (f.map' 0 1 ⋯ ⋯) app₁.hom =
    CategoryTheory.CategoryStruct.comp app₀.hom (g.map' 0 1 ⋯ ⋯)) (w₁ :
  CategoryTheory.CategoryStruct.comp (f.map' 1 2 ⋯ ⋯) app₂.hom =
    CategoryTheory.CategoryStruct.comp app₁.hom (g.map' 1 2 ⋯ ⋯)) (w₂ :
  CategoryTheory.CategoryStruct.comp (f.map' 2 3 ⋯ ⋯) app₃.hom =
    CategoryTheory.CategoryStruct.comp app₂.hom (g.map' 2 3 ⋯ ⋯)) (w₃ :
  CategoryTheory.CategoryStruct.comp (f.map' 3 4 ⋯ ⋯) app₄.hom =
    CategoryTheory.CategoryStruct.comp app₃.hom (g.map' 3 4 ⋯ ⋯))
Goal: (CategoryTheory.ComposableArrows.isoMk₄ app₀ app₁ app₂ app₃ app₄ w₀ w₁ w₂ w₃).inv =
  CategoryTheory.ComposableArrows.homMk₄ app₀.inv app₁.inv app₂.inv app₃.inv app₄.inv ⋯ ⋯ ⋯ ⋯
-- CategoryTheory.ComposableArrows.ext₄
lemma ext₄ {f g : ComposableArrows C 4}
    (h₀ : f.obj' 0 = g.obj' 0) (h₁ : f.obj' 1 = g.obj' 1) (h₂ : f.obj' 2 = g.obj' 2)
    (h₃ : f.obj' 3 = g.obj' 3) (h₄ : f.obj' 4 = g.obj' 4)
    (w₀ : f.map' 0 1 = eqToHom h₀ ≫ g.map' 0 1 ≫ eqToHom h₁.symm)
    (w₁ : f.map' 1 2 = eqToHom h₁ ≫ g.map' 1 2 ≫ eqToHom h₂.symm)
    (w₂ : f.map' 2 3 = eqToHom h₂ ≫ g.map' 2 3 ≫ eqToHom h₃.symm)
    (w₃ : f.map' 3 4 = eqToHom h₃ ≫ g.map' 3 4 ≫ eqToHom h₄.symm) :
    f = g 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 4} (h₀ : f.obj' 0 ⋯ = g.obj' 0 ⋯) (h₁ : f.obj' 1 ⋯ = g.obj' 1 ⋯) (h₂ : f.obj' 2 ⋯ = g.obj' 2 ⋯) (h₃ : f.obj' 3 ⋯ = g.obj' 3 ⋯) (h₄ : f.obj' 4 ⋯ = g.obj' 4 ⋯) (w₀ :
  f.map' 0 1 ⋯ ⋯ =
    CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom h₀)
      (CategoryTheory.CategoryStruct.comp (g.map' 0 1 ⋯ ⋯) (CategoryTheory.eqToHom ⋯))) (w₁ :
  f.map' 1 2 ⋯ ⋯ =
    CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom h₁)
      (CategoryTheory.CategoryStruct.comp (g.map' 1 2 ⋯ ⋯) (CategoryTheory.eqToHom ⋯))) (w₂ :
  f.map' 2 3 ⋯ ⋯ =
    CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom h₂)
      (CategoryTheory.CategoryStruct.comp (g.map' 2 3 ⋯ ⋯) (CategoryTheory.eqToHom ⋯))) (w₃ :
  f.map' 3 4 ⋯ ⋯ =
    CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom h₃)
      (CategoryTheory.CategoryStruct.comp (g.map' 3 4 ⋯ ⋯) (CategoryTheory.eqToHom ⋯)))
Goal: f = g
-- CategoryTheory.ComposableArrows.mk₄_surjective
lemma mk₄_surjective (X : ComposableArrows C 4) :
    ∃ (X₀ X₁ X₂ X₃ X₄ : C) (f₀ : X₀ ⟶ X₁) (f₁ : X₁ ⟶ X₂) (f₂ : X₂ ⟶ X₃) (f₃ : X₃ ⟶ X₄),
      X = mk₄ f₀ f₁ f₂ f₃ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] (X : CategoryTheory.ComposableArrows C 4)
Goal: ∃ X₀ X₁ X₂ X₃ X₄ f₀ f₁ f₂ f₃, X = CategoryTheory.ComposableArrows.mk₄ f₀ f₁ f₂ f₃
-- CategoryTheory.ComposableArrows.homMk₅_app_zero
@[simp]
lemma homMk₅_app_zero : (homMk₅ app₀ app₁ app₂ app₃ app₄ app₅ w₀ w₁ w₂ w₃ w₄).app 0 = app₀ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 5} (app₀ : f.obj' 0 ⋯ ⟶ g.obj' 0 ⋯) (app₁ : f.obj' 1 ⋯ ⟶ g.obj' 1 ⋯) (app₂ : f.obj' 2 ⋯ ⟶ g.obj' 2 ⋯) (app₃ : f.obj' 3 ⋯ ⟶ g.obj' 3 ⋯) (app₄ : f.obj' 4 ⋯ ⟶ g.obj' 4 ⋯) (app₅ : f.obj' 5 ⋯ ⟶ g.obj' 5 ⋯) (w₀ :
  CategoryTheory.CategoryStruct.comp (f.map' 0 1 ⋯ ⋯) app₁ = CategoryTheory.CategoryStruct.comp app₀ (g.map' 0 1 ⋯ ⋯)) (w₁ :
  CategoryTheory.CategoryStruct.comp (f.map' 1 2 ⋯ ⋯) app₂ = CategoryTheory.CategoryStruct.comp app₁ (g.map' 1 2 ⋯ ⋯)) (w₂ :
  CategoryTheory.CategoryStruct.comp (f.map' 2 3 ⋯ ⋯) app₃ = CategoryTheory.CategoryStruct.comp app₂ (g.map' 2 3 ⋯ ⋯)) (w₃ :
  CategoryTheory.CategoryStruct.comp (f.map' 3 4 ⋯ ⋯) app₄ = CategoryTheory.CategoryStruct.comp app₃ (g.map' 3 4 ⋯ ⋯)) (w₄ :
  CategoryTheory.CategoryStruct.comp (f.map' 4 5 ⋯ ⋯) app₅ = CategoryTheory.CategoryStruct.comp app₄ (g.map' 4 5 ⋯ ⋯))
Goal: (CategoryTheory.ComposableArrows.homMk₅ app₀ app₁ app₂ app₃ app₄ app₅ w₀ w₁ w₂ w₃ w₄).app 0 = app₀
-- CategoryTheory.ComposableArrows.homMk₅_app_one
@[simp]
lemma homMk₅_app_one : (homMk₅ app₀ app₁ app₂ app₃ app₄ app₅ w₀ w₁ w₂ w₃ w₄).app 1 = app₁ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 5} (app₀ : f.obj' 0 ⋯ ⟶ g.obj' 0 ⋯) (app₁ : f.obj' 1 ⋯ ⟶ g.obj' 1 ⋯) (app₂ : f.obj' 2 ⋯ ⟶ g.obj' 2 ⋯) (app₃ : f.obj' 3 ⋯ ⟶ g.obj' 3 ⋯) (app₄ : f.obj' 4 ⋯ ⟶ g.obj' 4 ⋯) (app₅ : f.obj' 5 ⋯ ⟶ g.obj' 5 ⋯) (w₀ :
  CategoryTheory.CategoryStruct.comp (f.map' 0 1 ⋯ ⋯) app₁ = CategoryTheory.CategoryStruct.comp app₀ (g.map' 0 1 ⋯ ⋯)) (w₁ :
  CategoryTheory.CategoryStruct.comp (f.map' 1 2 ⋯ ⋯) app₂ = CategoryTheory.CategoryStruct.comp app₁ (g.map' 1 2 ⋯ ⋯)) (w₂ :
  CategoryTheory.CategoryStruct.comp (f.map' 2 3 ⋯ ⋯) app₃ = CategoryTheory.CategoryStruct.comp app₂ (g.map' 2 3 ⋯ ⋯)) (w₃ :
  CategoryTheory.CategoryStruct.comp (f.map' 3 4 ⋯ ⋯) app₄ = CategoryTheory.CategoryStruct.comp app₃ (g.map' 3 4 ⋯ ⋯)) (w₄ :
  CategoryTheory.CategoryStruct.comp (f.map' 4 5 ⋯ ⋯) app₅ = CategoryTheory.CategoryStruct.comp app₄ (g.map' 4 5 ⋯ ⋯))
Goal: (CategoryTheory.ComposableArrows.homMk₅ app₀ app₁ app₂ app₃ app₄ app₅ w₀ w₁ w₂ w₃ w₄).app 1 = app₁
-- CategoryTheory.ComposableArrows.homMk₅_app_two
@[simp]
lemma homMk₅_app_two :
    (homMk₅ app₀ app₁ app₂ app₃ app₄ app₅ w₀ w₁ w₂ w₃ w₄).app ⟨2, by valid⟩ = app₂ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 5} (app₀ : f.obj' 0 ⋯ ⟶ g.obj' 0 ⋯) (app₁ : f.obj' 1 ⋯ ⟶ g.obj' 1 ⋯) (app₂ : f.obj' 2 ⋯ ⟶ g.obj' 2 ⋯) (app₃ : f.obj' 3 ⋯ ⟶ g.obj' 3 ⋯) (app₄ : f.obj' 4 ⋯ ⟶ g.obj' 4 ⋯) (app₅ : f.obj' 5 ⋯ ⟶ g.obj' 5 ⋯) (w₀ :
  CategoryTheory.CategoryStruct.comp (f.map' 0 1 ⋯ ⋯) app₁ = CategoryTheory.CategoryStruct.comp app₀ (g.map' 0 1 ⋯ ⋯)) (w₁ :
  CategoryTheory.CategoryStruct.comp (f.map' 1 2 ⋯ ⋯) app₂ = CategoryTheory.CategoryStruct.comp app₁ (g.map' 1 2 ⋯ ⋯)) (w₂ :
  CategoryTheory.CategoryStruct.comp (f.map' 2 3 ⋯ ⋯) app₃ = CategoryTheory.CategoryStruct.comp app₂ (g.map' 2 3 ⋯ ⋯)) (w₃ :
  CategoryTheory.CategoryStruct.comp (f.map' 3 4 ⋯ ⋯) app₄ = CategoryTheory.CategoryStruct.comp app₃ (g.map' 3 4 ⋯ ⋯)) (w₄ :
  CategoryTheory.CategoryStruct.comp (f.map' 4 5 ⋯ ⋯) app₅ = CategoryTheory.CategoryStruct.comp app₄ (g.map' 4 5 ⋯ ⋯))
Goal: (CategoryTheory.ComposableArrows.homMk₅ app₀ app₁ app₂ app₃ app₄ app₅ w₀ w₁ w₂ w₃ w₄).app ⟨2, ⋯⟩ = app₂
-- CategoryTheory.ComposableArrows.homMk₅_app_three
@[simp]
lemma homMk₅_app_three :
    (homMk₅ app₀ app₁ app₂ app₃ app₄ app₅ w₀ w₁ w₂ w₃ w₄).app ⟨3, by valid⟩ = app₃ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 5} (app₀ : f.obj' 0 ⋯ ⟶ g.obj' 0 ⋯) (app₁ : f.obj' 1 ⋯ ⟶ g.obj' 1 ⋯) (app₂ : f.obj' 2 ⋯ ⟶ g.obj' 2 ⋯) (app₃ : f.obj' 3 ⋯ ⟶ g.obj' 3 ⋯) (app₄ : f.obj' 4 ⋯ ⟶ g.obj' 4 ⋯) (app₅ : f.obj' 5 ⋯ ⟶ g.obj' 5 ⋯) (w₀ :
  CategoryTheory.CategoryStruct.comp (f.map' 0 1 ⋯ ⋯) app₁ = CategoryTheory.CategoryStruct.comp app₀ (g.map' 0 1 ⋯ ⋯)) (w₁ :
  CategoryTheory.CategoryStruct.comp (f.map' 1 2 ⋯ ⋯) app₂ = CategoryTheory.CategoryStruct.comp app₁ (g.map' 1 2 ⋯ ⋯)) (w₂ :
  CategoryTheory.CategoryStruct.comp (f.map' 2 3 ⋯ ⋯) app₃ = CategoryTheory.CategoryStruct.comp app₂ (g.map' 2 3 ⋯ ⋯)) (w₃ :
  CategoryTheory.CategoryStruct.comp (f.map' 3 4 ⋯ ⋯) app₄ = CategoryTheory.CategoryStruct.comp app₃ (g.map' 3 4 ⋯ ⋯)) (w₄ :
  CategoryTheory.CategoryStruct.comp (f.map' 4 5 ⋯ ⋯) app₅ = CategoryTheory.CategoryStruct.comp app₄ (g.map' 4 5 ⋯ ⋯))
Goal: (CategoryTheory.ComposableArrows.homMk₅ app₀ app₁ app₂ app₃ app₄ app₅ w₀ w₁ w₂ w₃ w₄).app ⟨3, ⋯⟩ = app₃
-- CategoryTheory.ComposableArrows.homMk₅_app_four
@[simp]
lemma homMk₅_app_four :
    (homMk₅ app₀ app₁ app₂ app₃ app₄ app₅ w₀ w₁ w₂ w₃ w₄).app ⟨4, by valid⟩ = app₄ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 5} (app₀ : f.obj' 0 ⋯ ⟶ g.obj' 0 ⋯) (app₁ : f.obj' 1 ⋯ ⟶ g.obj' 1 ⋯) (app₂ : f.obj' 2 ⋯ ⟶ g.obj' 2 ⋯) (app₃ : f.obj' 3 ⋯ ⟶ g.obj' 3 ⋯) (app₄ : f.obj' 4 ⋯ ⟶ g.obj' 4 ⋯) (app₅ : f.obj' 5 ⋯ ⟶ g.obj' 5 ⋯) (w₀ :
  CategoryTheory.CategoryStruct.comp (f.map' 0 1 ⋯ ⋯) app₁ = CategoryTheory.CategoryStruct.comp app₀ (g.map' 0 1 ⋯ ⋯)) (w₁ :
  CategoryTheory.CategoryStruct.comp (f.map' 1 2 ⋯ ⋯) app₂ = CategoryTheory.CategoryStruct.comp app₁ (g.map' 1 2 ⋯ ⋯)) (w₂ :
  CategoryTheory.CategoryStruct.comp (f.map' 2 3 ⋯ ⋯) app₃ = CategoryTheory.CategoryStruct.comp app₂ (g.map' 2 3 ⋯ ⋯)) (w₃ :
  CategoryTheory.CategoryStruct.comp (f.map' 3 4 ⋯ ⋯) app₄ = CategoryTheory.CategoryStruct.comp app₃ (g.map' 3 4 ⋯ ⋯)) (w₄ :
  CategoryTheory.CategoryStruct.comp (f.map' 4 5 ⋯ ⋯) app₅ = CategoryTheory.CategoryStruct.comp app₄ (g.map' 4 5 ⋯ ⋯))
Goal: (CategoryTheory.ComposableArrows.homMk₅ app₀ app₁ app₂ app₃ app₄ app₅ w₀ w₁ w₂ w₃ w₄).app ⟨4, ⋯⟩ = app₄
-- CategoryTheory.ComposableArrows.homMk₅_app_five
@[simp]
lemma homMk₅_app_five :
    (homMk₅ app₀ app₁ app₂ app₃ app₄ app₅ w₀ w₁ w₂ w₃ w₄).app ⟨5, by valid⟩ = app₅ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 5} (app₀ : f.obj' 0 ⋯ ⟶ g.obj' 0 ⋯) (app₁ : f.obj' 1 ⋯ ⟶ g.obj' 1 ⋯) (app₂ : f.obj' 2 ⋯ ⟶ g.obj' 2 ⋯) (app₃ : f.obj' 3 ⋯ ⟶ g.obj' 3 ⋯) (app₄ : f.obj' 4 ⋯ ⟶ g.obj' 4 ⋯) (app₅ : f.obj' 5 ⋯ ⟶ g.obj' 5 ⋯) (w₀ :
  CategoryTheory.CategoryStruct.comp (f.map' 0 1 ⋯ ⋯) app₁ = CategoryTheory.CategoryStruct.comp app₀ (g.map' 0 1 ⋯ ⋯)) (w₁ :
  CategoryTheory.CategoryStruct.comp (f.map' 1 2 ⋯ ⋯) app₂ = CategoryTheory.CategoryStruct.comp app₁ (g.map' 1 2 ⋯ ⋯)) (w₂ :
  CategoryTheory.CategoryStruct.comp (f.map' 2 3 ⋯ ⋯) app₃ = CategoryTheory.CategoryStruct.comp app₂ (g.map' 2 3 ⋯ ⋯)) (w₃ :
  CategoryTheory.CategoryStruct.comp (f.map' 3 4 ⋯ ⋯) app₄ = CategoryTheory.CategoryStruct.comp app₃ (g.map' 3 4 ⋯ ⋯)) (w₄ :
  CategoryTheory.CategoryStruct.comp (f.map' 4 5 ⋯ ⋯) app₅ = CategoryTheory.CategoryStruct.comp app₄ (g.map' 4 5 ⋯ ⋯))
Goal: (CategoryTheory.ComposableArrows.homMk₅ app₀ app₁ app₂ app₃ app₄ app₅ w₀ w₁ w₂ w₃ w₄).app ⟨5, ⋯⟩ = app₅
-- CategoryTheory.ComposableArrows.hom_ext₅
@[ext]
lemma hom_ext₅ {f g : ComposableArrows C 5} {φ φ' : f ⟶ g}
    (h₀ : app' φ 0 = app' φ' 0) (h₁ : app' φ 1 = app' φ' 1) (h₂ : app' φ 2 = app' φ' 2)
    (h₃ : app' φ 3 = app' φ' 3) (h₄ : app' φ 4 = app' φ' 4) (h₅ : app' φ 5 = app' φ' 5) :
    φ = φ' 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {f g : CategoryTheory.ComposableArrows C 5} {φ φ' : f ⟶ g} (h₀ : CategoryTheory.ComposableArrows.app' φ 0 ⋯ = CategoryTheory.ComposableArrows.app' φ' 0 ⋯) (h₁ : CategoryTheory.ComposableArrows.app' φ 1 ⋯ = CategoryTheory.ComposableArrows.app' φ' 1 ⋯) (h₂ : CategoryTheory.ComposableArrows.app' φ 2 ⋯ = CategoryTheory.ComposableArrows.app' φ' 2 ⋯) (h₃ : CategoryTheory.ComposableArrows.app' φ 3 ⋯ = CategoryTheory.ComposableArrows.app' φ' 3 ⋯) (h₄ : CategoryTheory.ComposableArrows.app' φ 4 ⋯ = CategoryTheory.ComposableArrows.app' φ' 4 ⋯) (h₅ : CategoryTheory.ComposableArrows.app' φ 5 ⋯ = CategoryTheory.ComposableArrows.app' φ' 5 ⋯)
Goal: φ = φ'