Documentation

Mathlib.CategoryTheory.ComposableArrows.Basic

Composable arrows #

If C is a category, the type of n-simplices in the nerve of C identifies to the type of functors Fin (n + 1) ⥤ C, which can be thought of as families of n composable arrows in C. In this file, we introduce and study this category ComposableArrows C n of n composable arrows in C.

If F : ComposableArrows C n, we define F.left as the leftmost object, F.right as the rightmost object, and F.hom : F.left ⟶ F.right is the canonical map.

The most significant definition in this file is the constructor F.precomp f : ComposableArrows C (n + 1) for F : ComposableArrows C n and f : X ⟶ F.left: "it shifts F towards the right and inserts f on the left". This precomp has good definitional properties.

In the namespace CategoryTheory.ComposableArrows, we provide constructors like mk₁ f, mk₂ f g, mk₃ f g h for ComposableArrows C n for small n.

TODO (@joelriou):

New simprocs that run even in dsimp have caused breakages in this file.

(e.g. dsimp can now simplify 2 + 3 to 5)

For now, we just turn off the offending simprocs in this file.

However, hopefully it is possible to refactor the material here so that no disabling of simprocs is needed.

See issue https://github.com/leanprover-community/mathlib4/issues/27382.

@[reducible, inline]
abbrev CategoryTheory.ComposableArrows (C : Type u_1) [Category.{v_1, u_1} C] (n : ) :
Type (max v_1 u_1)

ComposableArrows C n is the type of functors Fin (n + 1) ⥤ C.

Equations
    Instances For

      A wrapper for omega which prefaces it with some quick and useful attempts

      Equations
        Instances For
          @[reducible, inline]
          abbrev CategoryTheory.ComposableArrows.obj' {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) (i : ) (hi : i n := by valid) :
          C

          The ith object (with i : ℕ such that i ≤ n) of F : ComposableArrows C n.

          Equations
            Instances For
              @[reducible, inline]
              abbrev CategoryTheory.ComposableArrows.map' {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) (i j : ) (hij : i j := by valid) (hjn : j n := by valid) :
              F.obj i, F.obj j,

              The map F.obj' i ⟶ F.obj' j when F : ComposableArrows C n, and i and j are natural numbers such that i ≤ j ≤ n.

              Equations
                Instances For
                  theorem CategoryTheory.ComposableArrows.map'_self {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) (i : ) (hi : i n := by valid) :
                  F.map' i i hi = CategoryStruct.id (F.obj i, )
                  theorem CategoryTheory.ComposableArrows.map'_comp {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) (i j k : ) (hij : i j := by valid) (hjk : j k := by valid) (hk : k n := by valid) :
                  F.map' i k hk = CategoryStruct.comp (F.map' i j hij ) (F.map' j k hjk hk)
                  @[reducible, inline]

                  The leftmost object of F : ComposableArrows C n.

                  Equations
                    Instances For
                      @[reducible, inline]

                      The rightmost object of F : ComposableArrows C n.

                      Equations
                        Instances For
                          @[reducible, inline]

                          The canonical map F.left ⟶ F.right for F : ComposableArrows C n.

                          Equations
                            Instances For
                              @[reducible, inline]
                              abbrev CategoryTheory.ComposableArrows.app' {C : Type u_1} [Category.{v_1, u_1} C] {n : } {F G : ComposableArrows C n} (φ : F G) (i : ) (hi : i n := by valid) :
                              F.obj' i hi G.obj' i hi

                              The map F.obj' i ⟶ G.obj' i induced on ith objects by a morphism F ⟶ G in ComposableArrows C n when i is a natural number such that i ≤ n.

                              Equations
                                Instances For
                                  theorem CategoryTheory.ComposableArrows.naturality' {C : Type u_1} [Category.{v_1, u_1} C] {n : } {F G : ComposableArrows C n} (φ : F G) (i j : ) (hij : i j := by valid) (hj : j n := by valid) :
                                  CategoryStruct.comp (F.map' i j hij hj) (app' φ j hj) = CategoryStruct.comp (app' φ i ) (G.map' i j hij hj)
                                  theorem CategoryTheory.ComposableArrows.naturality'_assoc {C : Type u_1} [Category.{v_1, u_1} C] {n : } {F G : ComposableArrows C n} (φ : F G) (i j : ) (hij : i j := by valid) (hj : j n := by valid) {Z : C} (h : G.obj' j hj Z) :
                                  CategoryStruct.comp (F.map' i j hij hj) (CategoryStruct.comp (app' φ j hj) h) = CategoryStruct.comp (app' φ i ) (CategoryStruct.comp (G.map' i j hij hj) h)

                                  Constructor for ComposableArrows C 0.

                                  Equations
                                    Instances For
                                      @[simp]
                                      theorem CategoryTheory.ComposableArrows.mk₀_map {C : Type u_1} [Category.{v_1, u_1} C] (X : C) {X✝ Y✝ : Fin 1} (x✝ : X✝ Y✝) :
                                      @[simp]
                                      theorem CategoryTheory.ComposableArrows.mk₀_obj {C : Type u_1} [Category.{v_1, u_1} C] (X : C) (x✝ : Fin 1) :
                                      (mk₀ X).obj x✝ = X
                                      def CategoryTheory.ComposableArrows.Mk₁.obj {C : Type u_1} (X₀ X₁ : C) :
                                      Fin 2C

                                      The map which sends 0 : Fin 2 to X₀ and 1 to X₁.

                                      Equations
                                        Instances For
                                          def CategoryTheory.ComposableArrows.Mk₁.map {C : Type u_1} [Category.{v_1, u_1} C] {X₀ X₁ : C} (f : X₀ X₁) (i j : Fin 2) :
                                          i j → (obj X₀ X₁ i obj X₀ X₁ j)

                                          The obvious map obj X₀ X₁ i ⟶ obj X₀ X₁ j whenever i j : Fin 2 satisfy i ≤ j.

                                          Equations
                                            Instances For
                                              theorem CategoryTheory.ComposableArrows.Mk₁.map_id {C : Type u_1} [Category.{v_1, u_1} C] {X₀ X₁ : C} (f : X₀ X₁) (i : Fin 2) :
                                              map f i i = CategoryStruct.id (obj X₀ X₁ i)
                                              theorem CategoryTheory.ComposableArrows.Mk₁.map_comp {C : Type u_1} [Category.{v_1, u_1} C] {X₀ X₁ : C} (f : X₀ X₁) {i j k : Fin 2} (hij : i j) (hjk : j k) :
                                              map f i k = CategoryStruct.comp (map f i j hij) (map f j k hjk)
                                              def CategoryTheory.ComposableArrows.mk₁ {C : Type u_1} [Category.{v_1, u_1} C] {X₀ X₁ : C} (f : X₀ X₁) :

                                              Constructor for ComposableArrows C 1.

                                              Equations
                                                Instances For
                                                  @[simp]
                                                  theorem CategoryTheory.ComposableArrows.mk₁_obj {C : Type u_1} [Category.{v_1, u_1} C] {X₀ X₁ : C} (f : X₀ X₁) (a✝ : Fin 2) :
                                                  (mk₁ f).obj a✝ = Mk₁.obj X₀ X₁ a✝
                                                  @[simp]
                                                  theorem CategoryTheory.ComposableArrows.mk₁_map {C : Type u_1} [Category.{v_1, u_1} C] {X₀ X₁ : C} (f : X₀ X₁) {X✝ Y✝ : Fin (1 + 1)} (g : X✝ Y✝) :
                                                  (mk₁ f).map g = Mk₁.map f X✝ Y✝
                                                  def CategoryTheory.ComposableArrows.homMk {C : Type u_1} [Category.{v_1, u_1} C] {n : } {F G : ComposableArrows C n} (app : (i : Fin (n + 1)) → F.obj i G.obj i) (w : ∀ (i : ) (hi : i < n), CategoryStruct.comp (F.map' i (i + 1) hi) (app i + 1, ) = CategoryStruct.comp (app i, ) (G.map' i (i + 1) hi)) :
                                                  F G

                                                  Constructor for morphisms F ⟶ G in ComposableArrows C n which takes as inputs a family of morphisms F.obj i ⟶ G.obj i and the naturality condition only for the maps in Fin (n + 1) given by inequalities of the form i ≤ i + 1.

                                                  Equations
                                                    Instances For
                                                      @[simp]
                                                      theorem CategoryTheory.ComposableArrows.homMk_app {C : Type u_1} [Category.{v_1, u_1} C] {n : } {F G : ComposableArrows C n} (app : (i : Fin (n + 1)) → F.obj i G.obj i) (w : ∀ (i : ) (hi : i < n), CategoryStruct.comp (F.map' i (i + 1) hi) (app i + 1, ) = CategoryStruct.comp (app i, ) (G.map' i (i + 1) hi)) (i : Fin (n + 1)) :
                                                      (homMk app w).app i = app i
                                                      def CategoryTheory.ComposableArrows.isoMk {C : Type u_1} [Category.{v_1, u_1} C] {n : } {F G : ComposableArrows C n} (app : (i : Fin (n + 1)) → F.obj i G.obj i) (w : ∀ (i : ) (hi : i < n), CategoryStruct.comp (F.map' i (i + 1) hi) (app i + 1, ).hom = CategoryStruct.comp (app i, ).hom (G.map' i (i + 1) hi)) :
                                                      F G

                                                      Constructor for isomorphisms F ≅ G in ComposableArrows C n which takes as inputs a family of isomorphisms F.obj i ≅ G.obj i and the naturality condition only for the maps in Fin (n + 1) given by inequalities of the form i ≤ i + 1.

                                                      Equations
                                                        Instances For
                                                          @[simp]
                                                          theorem CategoryTheory.ComposableArrows.isoMk_inv {C : Type u_1} [Category.{v_1, u_1} C] {n : } {F G : ComposableArrows C n} (app : (i : Fin (n + 1)) → F.obj i G.obj i) (w : ∀ (i : ) (hi : i < n), CategoryStruct.comp (F.map' i (i + 1) hi) (app i + 1, ).hom = CategoryStruct.comp (app i, ).hom (G.map' i (i + 1) hi)) :
                                                          (isoMk app w).inv = homMk (fun (i : Fin (n + 1)) => (app i).inv)
                                                          @[simp]
                                                          theorem CategoryTheory.ComposableArrows.isoMk_hom {C : Type u_1} [Category.{v_1, u_1} C] {n : } {F G : ComposableArrows C n} (app : (i : Fin (n + 1)) → F.obj i G.obj i) (w : ∀ (i : ) (hi : i < n), CategoryStruct.comp (F.map' i (i + 1) hi) (app i + 1, ).hom = CategoryStruct.comp (app i, ).hom (G.map' i (i + 1) hi)) :
                                                          (isoMk app w).hom = homMk (fun (i : Fin (n + 1)) => (app i).hom) w
                                                          theorem CategoryTheory.ComposableArrows.ext {C : Type u_1} [Category.{v_1, u_1} C] {n : } {F G : ComposableArrows C n} (h : ∀ (i : Fin (n + 1)), F.obj i = G.obj i) (w : ∀ (i : ) (hi : i < n), F.map' i (i + 1) hi = CategoryStruct.comp (eqToHom ) (CategoryStruct.comp (G.map' i (i + 1) hi) (eqToHom ))) :
                                                          F = G

                                                          Constructor for morphisms in ComposableArrows C 0.

                                                          Equations
                                                            Instances For
                                                              @[simp]
                                                              theorem CategoryTheory.ComposableArrows.homMk₀_app {C : Type u_1} [Category.{v_1, u_1} C] {F G : ComposableArrows C 0} (f : F.obj' 0 homMk₀._proof_1 G.obj' 0 homMk₀._proof_1) (i : Fin (0 + 1)) :
                                                              (homMk₀ f).app i = match i with | 0, isLt => f

                                                              Constructor for isomorphisms in ComposableArrows C 0.

                                                              Equations
                                                                Instances For
                                                                  @[simp]
                                                                  theorem CategoryTheory.ComposableArrows.isoMk₀_inv_app {C : Type u_1} [Category.{v_1, u_1} C] {F G : ComposableArrows C 0} (e : F.obj' 0 homMk₀._proof_1 G.obj' 0 homMk₀._proof_1) (i : Fin (0 + 1)) :
                                                                  (isoMk₀ e).inv.app i = match i with | 0, isLt => e.inv
                                                                  @[simp]
                                                                  theorem CategoryTheory.ComposableArrows.isoMk₀_hom_app {C : Type u_1} [Category.{v_1, u_1} C] {F G : ComposableArrows C 0} (e : F.obj' 0 homMk₀._proof_1 G.obj' 0 homMk₀._proof_1) (i : Fin (0 + 1)) :
                                                                  (isoMk₀ e).hom.app i = match i with | 0, isLt => e.hom
                                                                  @[simp]
                                                                  theorem CategoryTheory.ComposableArrows.homMk₁_app {C : Type u_1} [Category.{v_1, u_1} C] {F G : ComposableArrows C 1} (left : F.obj' 0 homMk₁._proof_4 G.obj' 0 homMk₁._proof_4) (right : F.obj' 1 homMk₁._proof_5 G.obj' 1 homMk₁._proof_5) (w : CategoryStruct.comp (F.map' 0 1 homMk₁._proof_4 homMk₁._proof_5) right = CategoryStruct.comp left (G.map' 0 1 homMk₁._proof_4 homMk₁._proof_5) := by cat_disch) (i : Fin (1 + 1)) :
                                                                  (homMk₁ left right w).app i = match i with | 0, isLt => left | 1, isLt => right
                                                                  @[simp]
                                                                  theorem CategoryTheory.ComposableArrows.isoMk₁_inv_app {C : Type u_1} [Category.{v_1, u_1} C] {F G : ComposableArrows C 1} (left : F.obj' 0 homMk₁._proof_4 G.obj' 0 homMk₁._proof_4) (right : F.obj' 1 homMk₁._proof_5 G.obj' 1 homMk₁._proof_5) (w : CategoryStruct.comp (F.map' 0 1 homMk₁._proof_4 homMk₁._proof_5) right.hom = CategoryStruct.comp left.hom (G.map' 0 1 homMk₁._proof_4 homMk₁._proof_5) := by cat_disch) (i : Fin (1 + 1)) :
                                                                  (isoMk₁ left right w).inv.app i = match i with | 0, isLt => left.inv | 1, isLt => right.inv
                                                                  @[simp]
                                                                  theorem CategoryTheory.ComposableArrows.isoMk₁_hom_app {C : Type u_1} [Category.{v_1, u_1} C] {F G : ComposableArrows C 1} (left : F.obj' 0 homMk₁._proof_4 G.obj' 0 homMk₁._proof_4) (right : F.obj' 1 homMk₁._proof_5 G.obj' 1 homMk₁._proof_5) (w : CategoryStruct.comp (F.map' 0 1 homMk₁._proof_4 homMk₁._proof_5) right.hom = CategoryStruct.comp left.hom (G.map' 0 1 homMk₁._proof_4 homMk₁._proof_5) := by cat_disch) (i : Fin (1 + 1)) :
                                                                  (isoMk₁ left right w).hom.app i = match i with | 0, isLt => left.hom | 1, isLt => right.hom
                                                                  theorem CategoryTheory.ComposableArrows.mk₁_surjective {C : Type u_1} [Category.{v_1, u_1} C] (X : ComposableArrows C 1) :
                                                                  ∃ (X₀ : C) (X₁ : C) (f : X₀ X₁), X = mk₁ f
                                                                  theorem CategoryTheory.ComposableArrows.mk₁_eqToHom_comp {C : Type u_1} [Category.{v_1, u_1} C] {X₀' X₀ X₁ : C} (h : X₀' = X₀) (f : X₀ X₁) :
                                                                  theorem CategoryTheory.ComposableArrows.mk₁_comp_eqToHom {C : Type u_1} [Category.{v_1, u_1} C] {X₀ X₁ X₁' : C} (f : X₀ X₁) (h : X₁ = X₁') :

                                                                  The bijection between ComposableArrows C 1 and Arrow C.

                                                                  Equations
                                                                    Instances For
                                                                      def CategoryTheory.ComposableArrows.Precomp.obj {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) (X : C) :
                                                                      Fin (n + 1 + 1)C

                                                                      The map Fin (n + 1 + 1) → C which "shifts" F.obj' to the right and inserts X in the zeroth position.

                                                                      Equations
                                                                        Instances For
                                                                          @[simp]
                                                                          theorem CategoryTheory.ComposableArrows.Precomp.obj_one {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) (X : C) :
                                                                          obj F X 1 = F.obj' 0
                                                                          @[simp]
                                                                          theorem CategoryTheory.ComposableArrows.Precomp.obj_succ {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) (X : C) (i : ) (hi : i + 1 < n + 1 + 1) :
                                                                          obj F X i + 1, hi = F.obj' i
                                                                          def CategoryTheory.ComposableArrows.Precomp.map {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) {X : C} (f : X F.left) (i j : Fin (n + 1 + 1)) :
                                                                          i j → (obj F X i obj F X j)

                                                                          Auxiliary definition for the action on maps of the functor F.precomp f. It sends 0 ≤ 1 to f and i + 1 ≤ j + 1 to F.map' i j.

                                                                          Equations
                                                                            Instances For
                                                                              @[simp]
                                                                              theorem CategoryTheory.ComposableArrows.Precomp.map_one_one {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) {X : C} (f : X F.left) :
                                                                              map F f 1 1 = F.map (CategoryStruct.id 0, )
                                                                              @[simp]
                                                                              theorem CategoryTheory.ComposableArrows.Precomp.map_zero_one {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) {X : C} (f : X F.left) :
                                                                              map F f 0 1 = f
                                                                              @[simp]
                                                                              theorem CategoryTheory.ComposableArrows.Precomp.map_zero_one' {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) {X : C} (f : X F.left) :
                                                                              map F f 0 0 + 1, = f
                                                                              @[simp]
                                                                              theorem CategoryTheory.ComposableArrows.Precomp.map_zero_succ_succ {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) {X : C} (f : X F.left) (j : ) (hj : j + 2 < n + 1 + 1) :
                                                                              map F f 0 j + 2, hj = CategoryStruct.comp f (F.map' 0 (j + 1) )
                                                                              @[simp]
                                                                              theorem CategoryTheory.ComposableArrows.Precomp.map_succ_succ {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) {X : C} (f : X F.left) (i j : ) (hi : i + 1 < n + 1 + 1) (hj : j + 1 < n + 1 + 1) (hij : i + 1 j + 1) :
                                                                              map F f i + 1, hi j + 1, hj hij = F.map' i j
                                                                              @[simp]
                                                                              theorem CategoryTheory.ComposableArrows.Precomp.map_one_succ {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) {X : C} (f : X F.left) (j : ) (hj : j + 1 < n + 1 + 1) :
                                                                              map F f 1 j + 1, hj = F.map' 0 j
                                                                              theorem CategoryTheory.ComposableArrows.Precomp.map_id {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) {X : C} (f : X F.left) (i : Fin (n + 1 + 1)) :
                                                                              map F f i i = CategoryStruct.id (obj F X i)
                                                                              theorem CategoryTheory.ComposableArrows.Precomp.map_comp {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) {X : C} (f : X F.left) {i j k : Fin (n + 1 + 1)} (hij : i j) (hjk : j k) :
                                                                              map F f i k = CategoryStruct.comp (map F f i j hij) (map F f j k hjk)

                                                                              "Precomposition" of F : ComposableArrows C n by a morphism f : X ⟶ F.left.

                                                                              Equations
                                                                                Instances For
                                                                                  @[simp]
                                                                                  theorem CategoryTheory.ComposableArrows.precomp_obj {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) {X : C} (f : X F.left) (a✝ : Fin (n + 1 + 1)) :
                                                                                  (F.precomp f).obj a✝ = Precomp.obj F X a✝
                                                                                  @[simp]
                                                                                  theorem CategoryTheory.ComposableArrows.precomp_map {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) {X : C} (f : X F.left) {X✝ Y✝ : Fin (n + 1 + 1)} (g : X✝ Y✝) :
                                                                                  (F.precomp f).map g = Precomp.map F f X✝ Y✝
                                                                                  @[reducible, inline]
                                                                                  abbrev CategoryTheory.ComposableArrows.mk₂ {C : Type u_1} [Category.{v_1, u_1} C] {X₀ X₁ X₂ : C} (f : X₀ X₁) (g : X₁ X₂) :

                                                                                  Constructor for ComposableArrows C 2.

                                                                                  Equations
                                                                                    Instances For
                                                                                      @[reducible, inline]
                                                                                      abbrev CategoryTheory.ComposableArrows.mk₃ {C : Type u_1} [Category.{v_1, u_1} C] {X₀ X₁ X₂ X₃ : C} (f : X₀ X₁) (g : X₁ X₂) (h : X₂ X₃) :

                                                                                      Constructor for ComposableArrows C 3.

                                                                                      Equations
                                                                                        Instances For
                                                                                          @[reducible, inline]
                                                                                          abbrev CategoryTheory.ComposableArrows.mk₄ {C : Type u_1} [Category.{v_1, u_1} C] {X₀ X₁ X₂ X₃ X₄ : C} (f : X₀ X₁) (g : X₁ X₂) (h : X₂ X₃) (i : X₃ X₄) :

                                                                                          Constructor for ComposableArrows C 4.

                                                                                          Equations
                                                                                            Instances For
                                                                                              @[reducible, inline]
                                                                                              abbrev CategoryTheory.ComposableArrows.mk₅ {C : Type u_1} [Category.{v_1, u_1} C] {X₀ X₁ X₂ X₃ X₄ X₅ : C} (f : X₀ X₁) (g : X₁ X₂) (h : X₂ X₃) (i : X₃ X₄) (j : X₄ X₅) :

                                                                                              Constructor for ComposableArrows C 5.

                                                                                              Equations
                                                                                                Instances For

                                                                                                  These examples are meant to test the good definitional properties of precomp, and that dsimp can see through.

                                                                                                  The map ComposableArrows C m → ComposableArrows C n obtained by precomposition with a functor Fin (n + 1) ⥤ Fin (m + 1).

                                                                                                  Equations
                                                                                                    Instances For
                                                                                                      @[simp]
                                                                                                      theorem CategoryTheory.ComposableArrows.whiskerLeft_obj {C : Type u_1} [Category.{v_1, u_1} C] {n m : } (F : ComposableArrows C m) (Φ : Functor (Fin (n + 1)) (Fin (m + 1))) (X : Fin (n + 1)) :
                                                                                                      (F.whiskerLeft Φ).obj X = F.obj (Φ.obj X)
                                                                                                      @[simp]
                                                                                                      theorem CategoryTheory.ComposableArrows.whiskerLeft_map {C : Type u_1} [Category.{v_1, u_1} C] {n m : } (F : ComposableArrows C m) (Φ : Functor (Fin (n + 1)) (Fin (m + 1))) {X✝ Y✝ : Fin (n + 1)} (f : X✝ Y✝) :
                                                                                                      (F.whiskerLeft Φ).map f = F.map (Φ.map f)

                                                                                                      The functor ComposableArrows C m ⥤ ComposableArrows C n obtained by precomposition with a functor Fin (n + 1) ⥤ Fin (m + 1).

                                                                                                      Equations
                                                                                                        Instances For
                                                                                                          @[simp]
                                                                                                          theorem CategoryTheory.ComposableArrows.whiskerLeftFunctor_map_app {C : Type u_1} [Category.{v_1, u_1} C] {n m : } (Φ : Functor (Fin (n + 1)) (Fin (m + 1))) {X✝ Y✝ : ComposableArrows C m} (f : X✝ Y✝) (X : Fin (n + 1)) :
                                                                                                          ((whiskerLeftFunctor Φ).map f).app X = f.app (Φ.obj X)
                                                                                                          @[simp]
                                                                                                          theorem CategoryTheory.ComposableArrows.whiskerLeftFunctor_obj_obj {C : Type u_1} [Category.{v_1, u_1} C] {n m : } (Φ : Functor (Fin (n + 1)) (Fin (m + 1))) (F : ComposableArrows C m) (X : Fin (n + 1)) :
                                                                                                          ((whiskerLeftFunctor Φ).obj F).obj X = F.obj (Φ.obj X)
                                                                                                          @[simp]
                                                                                                          theorem CategoryTheory.ComposableArrows.whiskerLeftFunctor_obj_map {C : Type u_1} [Category.{v_1, u_1} C] {n m : } (Φ : Functor (Fin (n + 1)) (Fin (m + 1))) (F : ComposableArrows C m) {X✝ Y✝ : Fin (n + 1)} (f : X✝ Y✝) :
                                                                                                          ((whiskerLeftFunctor Φ).obj F).map f = F.map (Φ.map f)

                                                                                                          The functor Fin n ⥤ Fin (n + 1) which sends i to i.succ.

                                                                                                          Equations
                                                                                                            Instances For
                                                                                                              @[simp]
                                                                                                              theorem Fin.succFunctor_obj (n : ) (i : Fin n) :
                                                                                                              @[simp]
                                                                                                              theorem Fin.succFunctor_map (n : ) {x✝ x✝¹ : Fin n} (hij : x✝ x✝¹) :

                                                                                                              The functor ComposableArrows C (n + 1) ⥤ ComposableArrows C n which forgets the first arrow.

                                                                                                              Equations
                                                                                                                Instances For
                                                                                                                  @[simp]
                                                                                                                  theorem CategoryTheory.ComposableArrows.δ₀Functor_map_app {C : Type u_1} [Category.{v_1, u_1} C] {n : } {X✝ Y✝ : ComposableArrows C (n + 1)} (f : X✝ Y✝) (X : Fin (n + 1)) :
                                                                                                                  @[simp]
                                                                                                                  theorem CategoryTheory.ComposableArrows.δ₀Functor_obj_map {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C (n + 1)) {X✝ Y✝ : Fin (n + 1)} (f : X✝ Y✝) :
                                                                                                                  @[reducible, inline]

                                                                                                                  The ComposableArrows C n obtained by forgetting the first arrow.

                                                                                                                  Equations
                                                                                                                    Instances For
                                                                                                                      @[simp]
                                                                                                                      theorem CategoryTheory.ComposableArrows.precomp_δ₀ {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) {X : C} (f : X F.left) :
                                                                                                                      (F.precomp f).δ₀ = F

                                                                                                                      The functor Fin n ⥤ Fin (n + 1) which sends i to i.castSucc.

                                                                                                                      Equations
                                                                                                                        Instances For
                                                                                                                          @[simp]
                                                                                                                          theorem Fin.castSuccFunctor_map (n : ) {X✝ Y✝ : Fin n} (hij : X✝ Y✝) :
                                                                                                                          (castSuccFunctor n).map hij = hij

                                                                                                                          The functor ComposableArrows C (n + 1) ⥤ ComposableArrows C n which forgets the last arrow.

                                                                                                                          Equations
                                                                                                                            Instances For
                                                                                                                              @[simp]
                                                                                                                              theorem CategoryTheory.ComposableArrows.δlastFunctor_map_app {C : Type u_1} [Category.{v_1, u_1} C] {n : } {X✝ Y✝ : ComposableArrows C (n + 1)} (f : X✝ Y✝) (X : Fin (n + 1)) :
                                                                                                                              @[simp]
                                                                                                                              theorem CategoryTheory.ComposableArrows.δlastFunctor_obj_map {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C (n + 1)) {X✝ Y✝ : Fin (n + 1)} (f : X✝ Y✝) :
                                                                                                                              @[reducible, inline]

                                                                                                                              The ComposableArrows C n obtained by forgetting the first arrow.

                                                                                                                              Equations
                                                                                                                                Instances For
                                                                                                                                  def CategoryTheory.ComposableArrows.homMkSucc {C : Type u_1} [Category.{v_1, u_1} C] {n : } {F G : ComposableArrows C (n + 1)} (α : F.obj' 0 G.obj' 0 ) (β : F.δ₀ G.δ₀) (w : CategoryStruct.comp (F.map' 0 1 homMk₁._proof_4 ) (app' β 0 ) = CategoryStruct.comp α (G.map' 0 1 homMk₁._proof_4 )) :
                                                                                                                                  F G

                                                                                                                                  Inductive construction of morphisms in ComposableArrows C (n + 1): in order to construct a morphism F ⟶ G, it suffices to provide α : F.obj' 0 ⟶ G.obj' 0 and β : F.δ₀ ⟶ G.δ₀ such that F.map' 0 1 ≫ app' β 0 = α ≫ G.map' 0 1.

                                                                                                                                  Equations
                                                                                                                                    Instances For
                                                                                                                                      @[simp]
                                                                                                                                      theorem CategoryTheory.ComposableArrows.homMkSucc_app_zero {C : Type u_1} [Category.{v_1, u_1} C] {n : } {F G : ComposableArrows C (n + 1)} (α : F.obj' 0 G.obj' 0 ) (β : F.δ₀ G.δ₀) (w : CategoryStruct.comp (F.map' 0 1 homMk₁._proof_4 ) (app' β 0 ) = CategoryStruct.comp α (G.map' 0 1 homMk₁._proof_4 ) := by cat_disch) :
                                                                                                                                      (homMkSucc α β w).app 0 = α
                                                                                                                                      @[simp]
                                                                                                                                      theorem CategoryTheory.ComposableArrows.homMkSucc_app_succ {C : Type u_1} [Category.{v_1, u_1} C] {n : } {F G : ComposableArrows C (n + 1)} (α : F.obj' 0 G.obj' 0 ) (β : F.δ₀ G.δ₀) (w : CategoryStruct.comp (F.map' 0 1 homMk₁._proof_4 ) (app' β 0 ) = CategoryStruct.comp α (G.map' 0 1 homMk₁._proof_4 ) := by cat_disch) (i : ) (hi : i + 1 < n + 1 + 1) :
                                                                                                                                      (homMkSucc α β w).app i + 1, hi = app' β i
                                                                                                                                      theorem CategoryTheory.ComposableArrows.hom_ext_succ {C : Type u_1} [Category.{v_1, u_1} C] {n : } {F G : ComposableArrows C (n + 1)} {f g : F G} (h₀ : app' f 0 = app' g 0 ) (h₁ : δ₀Functor.map f = δ₀Functor.map g) :
                                                                                                                                      f = g
                                                                                                                                      def CategoryTheory.ComposableArrows.isoMkSucc {C : Type u_1} [Category.{v_1, u_1} C] {n : } {F G : ComposableArrows C (n + 1)} (α : F.obj' 0 G.obj' 0 ) (β : F.δ₀ G.δ₀) (w : CategoryStruct.comp (F.map' 0 1 homMk₁._proof_4 ) (app' β.hom 0 ) = CategoryStruct.comp α.hom (G.map' 0 1 homMk₁._proof_4 )) :
                                                                                                                                      F G

                                                                                                                                      Inductive construction of isomorphisms in ComposableArrows C (n + 1): in order to construct an isomorphism F ≅ G, it suffices to provide α : F.obj' 0 ≅ G.obj' 0 and β : F.δ₀ ≅ G.δ₀ such that F.map' 0 1 ≫ app' β.hom 0 = α.hom ≫ G.map' 0 1.

                                                                                                                                      Equations
                                                                                                                                        Instances For
                                                                                                                                          @[simp]
                                                                                                                                          theorem CategoryTheory.ComposableArrows.isoMkSucc_inv {C : Type u_1} [Category.{v_1, u_1} C] {n : } {F G : ComposableArrows C (n + 1)} (α : F.obj' 0 G.obj' 0 ) (β : F.δ₀ G.δ₀) (w : CategoryStruct.comp (F.map' 0 1 homMk₁._proof_4 ) (app' β.hom 0 ) = CategoryStruct.comp α.hom (G.map' 0 1 homMk₁._proof_4 )) :
                                                                                                                                          (isoMkSucc α β w).inv = homMkSucc α.inv β.inv
                                                                                                                                          @[simp]
                                                                                                                                          theorem CategoryTheory.ComposableArrows.isoMkSucc_hom {C : Type u_1} [Category.{v_1, u_1} C] {n : } {F G : ComposableArrows C (n + 1)} (α : F.obj' 0 G.obj' 0 ) (β : F.δ₀ G.δ₀) (w : CategoryStruct.comp (F.map' 0 1 homMk₁._proof_4 ) (app' β.hom 0 ) = CategoryStruct.comp α.hom (G.map' 0 1 homMk₁._proof_4 )) :
                                                                                                                                          (isoMkSucc α β w).hom = homMkSucc α.hom β.hom w
                                                                                                                                          theorem CategoryTheory.ComposableArrows.ext_succ {C : Type u_1} [Category.{v_1, u_1} C] {n : } {F G : ComposableArrows C (n + 1)} (h₀ : F.obj' 0 = G.obj' 0 ) (h : F.δ₀ = G.δ₀) (w : F.map' 0 1 homMk₁._proof_4 = CategoryStruct.comp (eqToHom h₀) (CategoryStruct.comp (G.map' 0 1 homMk₁._proof_4 ) (eqToHom ))) :
                                                                                                                                          F = G
                                                                                                                                          theorem CategoryTheory.ComposableArrows.precomp_surjective {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C (n + 1)) :
                                                                                                                                          ∃ (F₀ : ComposableArrows C n) (X₀ : C) (f₀ : X₀ F₀.left), F = F₀.precomp f₀
                                                                                                                                          theorem CategoryTheory.ComposableArrows.hom_ext₂ {C : Type u_1} [Category.{v_1, u_1} C] {f g : ComposableArrows C 2} {φ φ' : f g} (h₀ : app' φ 0 _proof_237✝ = app' φ' 0 _proof_237✝¹) (h₁ : app' φ 1 _proof_238✝ = app' φ' 1 _proof_238✝¹) (h₂ : app' φ 2 _proof_239✝ = app' φ' 2 _proof_239✝¹) :
                                                                                                                                          φ = φ'
                                                                                                                                          @[simp]
                                                                                                                                          theorem CategoryTheory.ComposableArrows.isoMk₂_hom {C : Type u_1} [Category.{v_1, u_1} C] {f g : ComposableArrows C 2} (app₀ : f.obj' 0 _proof_237✝ g.obj' 0 _proof_237✝¹) (app₁ : f.obj' 1 _proof_238✝ g.obj' 1 _proof_238✝¹) (app₂ : f.obj' 2 _proof_239✝ g.obj' 2 _proof_239✝¹) (w₀ : CategoryStruct.comp (f.map' 0 1 homMk₁._proof_4 _proof_238✝²) app₁.hom = CategoryStruct.comp app₀.hom (g.map' 0 1 homMk₁._proof_4 _proof_238✝³) := by cat_disch) (w₁ : CategoryStruct.comp (f.map' 1 2 _proof_238✝⁴ _proof_239✝²) app₂.hom = CategoryStruct.comp app₁.hom (g.map' 1 2 _proof_238✝⁵ _proof_239✝³) := by cat_disch) :
                                                                                                                                          (isoMk₂ app₀ app₁ app₂ w₀ w₁).hom = homMk₂ app₀.hom app₁.hom app₂.hom w₀ w₁
                                                                                                                                          @[simp]
                                                                                                                                          theorem CategoryTheory.ComposableArrows.isoMk₂_inv {C : Type u_1} [Category.{v_1, u_1} C] {f g : ComposableArrows C 2} (app₀ : f.obj' 0 _proof_237✝ g.obj' 0 _proof_237✝¹) (app₁ : f.obj' 1 _proof_238✝ g.obj' 1 _proof_238✝¹) (app₂ : f.obj' 2 _proof_239✝ g.obj' 2 _proof_239✝¹) (w₀ : CategoryStruct.comp (f.map' 0 1 homMk₁._proof_4 _proof_238✝²) app₁.hom = CategoryStruct.comp app₀.hom (g.map' 0 1 homMk₁._proof_4 _proof_238✝³) := by cat_disch) (w₁ : CategoryStruct.comp (f.map' 1 2 _proof_238✝⁴ _proof_239✝²) app₂.hom = CategoryStruct.comp app₁.hom (g.map' 1 2 _proof_238✝⁵ _proof_239✝³) := by cat_disch) :
                                                                                                                                          (isoMk₂ app₀ app₁ app₂ w₀ w₁).inv = homMk₂ app₀.inv app₁.inv app₂.inv
                                                                                                                                          theorem CategoryTheory.ComposableArrows.mk₂_surjective {C : Type u_1} [Category.{v_1, u_1} C] (X : ComposableArrows C 2) :
                                                                                                                                          ∃ (X₀ : C) (X₁ : C) (X₂ : C) (f₀ : X₀ X₁) (f₁ : X₁ X₂), X = mk₂ f₀ f₁
                                                                                                                                          theorem CategoryTheory.ComposableArrows.hom_ext₃ {C : Type u_1} [Category.{v_1, u_1} C] {f g : ComposableArrows C 3} {φ φ' : f g} (h₀ : app' φ 0 _proof_289✝ = app' φ' 0 _proof_289✝¹) (h₁ : app' φ 1 _proof_290✝ = app' φ' 1 _proof_290✝¹) (h₂ : app' φ 2 _proof_291✝ = app' φ' 2 _proof_291✝¹) (h₃ : app' φ 3 _proof_292✝ = app' φ' 3 _proof_292✝¹) :
                                                                                                                                          φ = φ'
                                                                                                                                          theorem CategoryTheory.ComposableArrows.mk₃_surjective {C : Type u_1} [Category.{v_1, u_1} C] (X : ComposableArrows C 3) :
                                                                                                                                          ∃ (X₀ : C) (X₁ : C) (X₂ : C) (X₃ : C) (f₀ : X₀ X₁) (f₁ : X₁ X₂) (f₂ : X₂ X₃), X = mk₃ f₀ f₁ f₂
                                                                                                                                          theorem CategoryTheory.ComposableArrows.hom_ext₄ {C : Type u_1} [Category.{v_1, u_1} C] {f g : ComposableArrows C 4} {φ φ' : f g} (h₀ : app' φ 0 _proof_353✝ = app' φ' 0 _proof_353✝¹) (h₁ : app' φ 1 _proof_354✝ = app' φ' 1 _proof_354✝¹) (h₂ : app' φ 2 _proof_355✝ = app' φ' 2 _proof_355✝¹) (h₃ : app' φ 3 _proof_356✝ = app' φ' 3 _proof_356✝¹) (h₄ : app' φ 4 _proof_357✝ = app' φ' 4 _proof_357✝¹) :
                                                                                                                                          φ = φ'
                                                                                                                                          theorem CategoryTheory.ComposableArrows.map'_inv_eq_inv_map' {C : Type u_1} [Category.{v_1, u_1} C] {n m : } (h : n + 1 m) {f g : ComposableArrows C m} (app : f.obj' n g.obj' n ) (app' : f.obj' (n + 1) h g.obj' (n + 1) h) (w : CategoryStruct.comp (f.map' n (n + 1) h) app'.hom = CategoryStruct.comp app.hom (g.map' n (n + 1) h)) :
                                                                                                                                          CategoryStruct.comp (g.map' n (n + 1) h) app'.inv = CategoryStruct.comp app.inv (f.map' n (n + 1) h)
                                                                                                                                          theorem CategoryTheory.ComposableArrows.mk₄_surjective {C : Type u_1} [Category.{v_1, u_1} C] (X : ComposableArrows C 4) :
                                                                                                                                          ∃ (X₀ : C) (X₁ : C) (X₂ : C) (X₃ : C) (X₄ : C) (f₀ : X₀ X₁) (f₁ : X₁ X₂) (f₂ : X₂ X₃) (f₃ : X₃ X₄), X = mk₄ f₀ f₁ f₂ f₃
                                                                                                                                          @[simp]
                                                                                                                                          theorem CategoryTheory.ComposableArrows.homMk₅_app_zero {C : Type u_1} [Category.{v_1, u_1} C] {f g : ComposableArrows C 5} (app₀ : f.obj' 0 _proof_441✝ g.obj' 0 _proof_441✝¹) (app₁ : f.obj' 1 _proof_442✝ g.obj' 1 _proof_442✝¹) (app₂ : f.obj' 2 _proof_443✝ g.obj' 2 _proof_443✝¹) (app₃ : f.obj' 3 _proof_444✝ g.obj' 3 _proof_444✝¹) (app₄ : f.obj' 4 _proof_445✝ g.obj' 4 _proof_445✝¹) (app₅ : f.obj' 5 _proof_446✝ g.obj' 5 _proof_446✝¹) (w₀ : CategoryStruct.comp (f.map' 0 1 homMk₁._proof_4 _proof_442✝²) app₁ = CategoryStruct.comp app₀ (g.map' 0 1 homMk₁._proof_4 _proof_442✝³) := by cat_disch) (w₁ : CategoryStruct.comp (f.map' 1 2 _proof_238✝ _proof_443✝²) app₂ = CategoryStruct.comp app₁ (g.map' 1 2 _proof_238✝¹ _proof_443✝³) := by cat_disch) (w₂ : CategoryStruct.comp (f.map' 2 3 _proof_291✝ _proof_444✝²) app₃ = CategoryStruct.comp app₂ (g.map' 2 3 _proof_291✝¹ _proof_444✝³) := by cat_disch) (w₃ : CategoryStruct.comp (f.map' 3 4 _proof_356✝ _proof_445✝²) app₄ = CategoryStruct.comp app₃ (g.map' 3 4 _proof_356✝¹ _proof_445✝³) := by cat_disch) (w₄ : CategoryStruct.comp (f.map' 4 5 _proof_445✝⁴ _proof_446✝²) app₅ = CategoryStruct.comp app₄ (g.map' 4 5 _proof_445✝⁵ _proof_446✝³) := by cat_disch) :
                                                                                                                                          (homMk₅ app₀ app₁ app₂ app₃ app₄ app₅ w₀ w₁ w₂ w₃ w₄).app 0 = app₀
                                                                                                                                          @[simp]
                                                                                                                                          theorem CategoryTheory.ComposableArrows.homMk₅_app_one {C : Type u_1} [Category.{v_1, u_1} C] {f g : ComposableArrows C 5} (app₀ : f.obj' 0 _proof_441✝ g.obj' 0 _proof_441✝¹) (app₁ : f.obj' 1 _proof_442✝ g.obj' 1 _proof_442✝¹) (app₂ : f.obj' 2 _proof_443✝ g.obj' 2 _proof_443✝¹) (app₃ : f.obj' 3 _proof_444✝ g.obj' 3 _proof_444✝¹) (app₄ : f.obj' 4 _proof_445✝ g.obj' 4 _proof_445✝¹) (app₅ : f.obj' 5 _proof_446✝ g.obj' 5 _proof_446✝¹) (w₀ : CategoryStruct.comp (f.map' 0 1 homMk₁._proof_4 _proof_442✝²) app₁ = CategoryStruct.comp app₀ (g.map' 0 1 homMk₁._proof_4 _proof_442✝³) := by cat_disch) (w₁ : CategoryStruct.comp (f.map' 1 2 _proof_238✝ _proof_443✝²) app₂ = CategoryStruct.comp app₁ (g.map' 1 2 _proof_238✝¹ _proof_443✝³) := by cat_disch) (w₂ : CategoryStruct.comp (f.map' 2 3 _proof_291✝ _proof_444✝²) app₃ = CategoryStruct.comp app₂ (g.map' 2 3 _proof_291✝¹ _proof_444✝³) := by cat_disch) (w₃ : CategoryStruct.comp (f.map' 3 4 _proof_356✝ _proof_445✝²) app₄ = CategoryStruct.comp app₃ (g.map' 3 4 _proof_356✝¹ _proof_445✝³) := by cat_disch) (w₄ : CategoryStruct.comp (f.map' 4 5 _proof_445✝⁴ _proof_446✝²) app₅ = CategoryStruct.comp app₄ (g.map' 4 5 _proof_445✝⁵ _proof_446✝³) := by cat_disch) :
                                                                                                                                          (homMk₅ app₀ app₁ app₂ app₃ app₄ app₅ w₀ w₁ w₂ w₃ w₄).app 1 = app₁
                                                                                                                                          @[simp]
                                                                                                                                          @[simp]
                                                                                                                                          @[simp]
                                                                                                                                          @[simp]
                                                                                                                                          theorem CategoryTheory.ComposableArrows.hom_ext₅ {C : Type u_1} [Category.{v_1, u_1} C] {f g : ComposableArrows C 5} {φ φ' : f g} (h₀ : app' φ 0 _proof_441✝ = app' φ' 0 _proof_441✝¹) (h₁ : app' φ 1 _proof_442✝ = app' φ' 1 _proof_442✝¹) (h₂ : app' φ 2 _proof_443✝ = app' φ' 2 _proof_443✝¹) (h₃ : app' φ 3 _proof_444✝ = app' φ' 3 _proof_444✝¹) (h₄ : app' φ 4 _proof_445✝ = app' φ' 4 _proof_445✝¹) (h₅ : app' φ 5 _proof_446✝ = app' φ' 5 _proof_446✝¹) :
                                                                                                                                          φ = φ'
                                                                                                                                          @[simp]
                                                                                                                                          @[simp]
                                                                                                                                          theorem CategoryTheory.ComposableArrows.mk₅_surjective {C : Type u_1} [Category.{v_1, u_1} C] (X : ComposableArrows C 5) :
                                                                                                                                          ∃ (X₀ : C) (X₁ : C) (X₂ : C) (X₃ : C) (X₄ : C) (X₅ : C) (f₀ : X₀ X₁) (f₁ : X₁ X₂) (f₂ : X₂ X₃) (f₃ : X₃ X₄) (f₄ : X₄ X₅), X = mk₅ f₀ f₁ f₂ f₃ f₄
                                                                                                                                          def CategoryTheory.ComposableArrows.arrow {C : Type u_1} [Category.{v_1, u_1} C] {n : } (F : ComposableArrows C n) (i : ) (hi : i < n := by valid) :

                                                                                                                                          The ith arrow of F : ComposableArrows C n.

                                                                                                                                          Equations
                                                                                                                                            Instances For
                                                                                                                                              theorem CategoryTheory.ComposableArrows.mkOfObjOfMapSucc_exists {C : Type u_1} [Category.{v_1, u_1} C] {n : } (obj : Fin (n + 1)C) (mapSucc : (i : Fin n) → obj i.castSucc obj i.succ) :
                                                                                                                                              ∃ (F : ComposableArrows C n) (e : (i : Fin (n + 1)) → F.obj i obj i), ∀ (i : ) (hi : i < n), mapSucc i, hi = CategoryStruct.comp (e i, ).inv (CategoryStruct.comp (F.map' i (i + 1) hi) (e i + 1, ).hom)
                                                                                                                                              noncomputable def CategoryTheory.ComposableArrows.mkOfObjOfMapSucc {C : Type u_1} [Category.{v_1, u_1} C] {n : } (obj : Fin (n + 1)C) (mapSucc : (i : Fin n) → obj i.castSucc obj i.succ) :

                                                                                                                                              Given obj : Fin (n + 1) → C and mapSucc i : obj i.castSucc ⟶ obj i.succ for all i : Fin n, this is F : ComposableArrows C n such that F.obj i is definitionally equal to obj i and such that F.map' i (i + 1) = mapSucc ⟨i, hi⟩.

                                                                                                                                              Equations
                                                                                                                                                Instances For
                                                                                                                                                  @[simp]
                                                                                                                                                  theorem CategoryTheory.ComposableArrows.mkOfObjOfMapSucc_obj {C : Type u_1} [Category.{v_1, u_1} C] {n : } (obj : Fin (n + 1)C) (mapSucc : (i : Fin n) → obj i.castSucc obj i.succ) (i : Fin (n + 1)) :
                                                                                                                                                  (mkOfObjOfMapSucc obj mapSucc).obj i = obj i
                                                                                                                                                  theorem CategoryTheory.ComposableArrows.mkOfObjOfMapSucc_map_succ {C : Type u_1} [Category.{v_1, u_1} C] {n : } (obj : Fin (n + 1)C) (mapSucc : (i : Fin n) → obj i.castSucc obj i.succ) (i : ) (hi : i < n := by valid) :
                                                                                                                                                  (mkOfObjOfMapSucc obj mapSucc).map' i (i + 1) hi = mapSucc i, hi
                                                                                                                                                  theorem CategoryTheory.ComposableArrows.mkOfObjOfMapSucc_arrow {C : Type u_1} [Category.{v_1, u_1} C] {n : } (obj : Fin (n + 1)C) (mapSucc : (i : Fin n) → obj i.castSucc obj i.succ) (i : ) (hi : i < n := by valid) :
                                                                                                                                                  (mkOfObjOfMapSucc obj mapSucc).arrow i hi = mk₁ (mapSucc i, hi)

                                                                                                                                                  The equivalence (ComposableArrows C n)ᵒᵖ ≌ ComposableArrows Cᵒᵖ n obtained by reversing the arrows.

                                                                                                                                                  Equations
                                                                                                                                                    Instances For
                                                                                                                                                      @[simp]
                                                                                                                                                      theorem CategoryTheory.ComposableArrows.opEquivalence_functor_obj_map (C : Type u_1) [Category.{v_1, u_1} C] (n : ) (X : (Functor (Fin (n + 1)) C)ᵒᵖ) {X✝ Y✝ : Fin (n + 1)} (f : X✝ Y✝) :
                                                                                                                                                      @[simp]
                                                                                                                                                      theorem CategoryTheory.ComposableArrows.opEquivalence_functor_map_app (C : Type u_1) [Category.{v_1, u_1} C] (n : ) {X✝ Y✝ : (Functor (Fin (n + 1)) C)ᵒᵖ} (f : X✝ Y✝) (x✝ : Fin (n + 1)) :
                                                                                                                                                      ((opEquivalence C n).functor.map f).app x✝ = (f.unop.app x✝.rev).op

                                                                                                                                                      The functor ComposableArrows C n ⥤ ComposableArrows D n obtained by postcomposition with a functor C ⥤ D.

                                                                                                                                                      Equations
                                                                                                                                                        Instances For
                                                                                                                                                          @[simp]
                                                                                                                                                          theorem CategoryTheory.Functor.mapComposableArrows_map_app {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] (G : Functor C D) (n : ) {X✝ Y✝ : Functor (Fin (n + 1)) C} (α : X✝ Y✝) (X : Fin (n + 1)) :
                                                                                                                                                          ((G.mapComposableArrows n).map α).app X = G.map (α.app X)
                                                                                                                                                          @[simp]
                                                                                                                                                          theorem CategoryTheory.Functor.mapComposableArrows_obj_obj {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] (G : Functor C D) (n : ) (F : Functor (Fin (n + 1)) C) (X : Fin (n + 1)) :
                                                                                                                                                          ((G.mapComposableArrows n).obj F).obj X = G.obj (F.obj X)
                                                                                                                                                          @[simp]
                                                                                                                                                          theorem CategoryTheory.Functor.mapComposableArrows_obj_map {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] (G : Functor C D) (n : ) (F : Functor (Fin (n + 1)) C) {X✝ Y✝ : Fin (n + 1)} (f : X✝ Y✝) :
                                                                                                                                                          ((G.mapComposableArrows n).obj F).map f = G.map (F.map f)

                                                                                                                                                          The isomorphism between (G.mapComposableArrows 1).obj (.mk₁ f) and .mk₁ (G.map f).

                                                                                                                                                          Equations
                                                                                                                                                            Instances For
                                                                                                                                                              @[simp]
                                                                                                                                                              theorem CategoryTheory.Functor.mapComposableArrowsObjMk₁Iso_hom_app {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] (G : Functor C D) {X Y : C} (f : X Y) (i : Fin (1 + 1)) :
                                                                                                                                                              (G.mapComposableArrowsObjMk₁Iso f).hom.app i = match i with | 0, isLt => CategoryStruct.id (G.obj X) | 1, isLt => CategoryStruct.id (G.obj Y)
                                                                                                                                                              @[simp]
                                                                                                                                                              theorem CategoryTheory.Functor.mapComposableArrowsObjMk₁Iso_inv_app {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] (G : Functor C D) {X Y : C} (f : X Y) (i : Fin (1 + 1)) :
                                                                                                                                                              (G.mapComposableArrowsObjMk₁Iso f).inv.app i = match i with | 0, isLt => CategoryStruct.id (G.obj X) | 1, isLt => CategoryStruct.id (G.obj Y)

                                                                                                                                                              The isomorphism between (G.mapComposableArrows 2).obj (.mk₂ f g) and .mk₂ (G.map f) (G.map g).

                                                                                                                                                              Equations
                                                                                                                                                                Instances For
                                                                                                                                                                  @[simp]
                                                                                                                                                                  theorem CategoryTheory.Functor.mapComposableArrowsObjMk₂Iso_inv_app {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] (G : Functor C D) {X Y Z : C} (f : X Y) (g : Y Z) (i : Fin (1 + 1 + 1)) :
                                                                                                                                                                  (G.mapComposableArrowsObjMk₂Iso f g).inv.app i = match i with | 0, isLt => CategoryStruct.id (G.obj X) | i.succ, hi => match i, with | 0, isLt => CategoryStruct.id (G.obj Y) | 1, isLt => CategoryStruct.id (G.obj Z)
                                                                                                                                                                  @[simp]
                                                                                                                                                                  theorem CategoryTheory.Functor.mapComposableArrowsObjMk₂Iso_hom_app {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] (G : Functor C D) {X Y Z : C} (f : X Y) (g : Y Z) (i : Fin (1 + 1 + 1)) :
                                                                                                                                                                  (G.mapComposableArrowsObjMk₂Iso f g).hom.app i = match i with | 0, isLt => CategoryStruct.id (G.obj X) | i.succ, hi => match i, with | 0, isLt => CategoryStruct.id (G.obj Y) | 1, isLt => CategoryStruct.id (G.obj Z)