Documentation

Mathlib.CategoryTheory.GuitartExact.VerticalComposition

Vertical composition of Guitart exact squares #

In this file, we show that the vertical composition of Guitart exact squares is Guitart exact.

def CategoryTheory.TwoSquare.whiskerVertical {Cโ‚ : Type u_1} {Cโ‚‚ : Type u_2} {Dโ‚ : Type u_4} {Dโ‚‚ : Type u_5} [Category.{v_1, u_1} Cโ‚] [Category.{v_2, u_2} Cโ‚‚] [Category.{v_4, u_4} Dโ‚] [Category.{v_5, u_5} Dโ‚‚] {T : Functor Cโ‚ Dโ‚} {L : Functor Cโ‚ Cโ‚‚} {R : Functor Dโ‚ Dโ‚‚} {B : Functor Cโ‚‚ Dโ‚‚} (w : TwoSquare T L R B) {L' : Functor Cโ‚ Cโ‚‚} {R' : Functor Dโ‚ Dโ‚‚} (ฮฑ : L โŸถ L') (ฮฒ : R' โŸถ R) :
TwoSquare T L' R' B

Given w : TwoSquare T L R B, one may obtain a 2-square TwoSquare T L' R' B if we provide natural transformations ฮฑ : L โŸถ L' and ฮฒ : R' โŸถ R.

Equations
    Instances For
      @[simp]
      theorem CategoryTheory.TwoSquare.whiskerVertical_app {Cโ‚ : Type u_1} {Cโ‚‚ : Type u_2} {Dโ‚ : Type u_4} {Dโ‚‚ : Type u_5} [Category.{v_1, u_1} Cโ‚] [Category.{v_2, u_2} Cโ‚‚] [Category.{v_4, u_4} Dโ‚] [Category.{v_5, u_5} Dโ‚‚] {T : Functor Cโ‚ Dโ‚} {L : Functor Cโ‚ Cโ‚‚} {R : Functor Dโ‚ Dโ‚‚} {B : Functor Cโ‚‚ Dโ‚‚} (w : TwoSquare T L R B) {L' : Functor Cโ‚ Cโ‚‚} {R' : Functor Dโ‚ Dโ‚‚} (ฮฑ : L โŸถ L') (ฮฒ : R' โŸถ R) (X : Cโ‚) :
      (w.whiskerVertical ฮฑ ฮฒ).app X = CategoryStruct.comp (ฮฒ.app (T.obj X)) (CategoryStruct.comp (w.natTrans.app X) (B.map (ฮฑ.app X)))
      theorem CategoryTheory.TwoSquare.GuitartExact.whiskerVertical {Cโ‚ : Type u_1} {Cโ‚‚ : Type u_2} {Dโ‚ : Type u_4} {Dโ‚‚ : Type u_5} [Category.{v_1, u_1} Cโ‚] [Category.{v_2, u_2} Cโ‚‚] [Category.{v_4, u_4} Dโ‚] [Category.{v_5, u_5} Dโ‚‚] {T : Functor Cโ‚ Dโ‚} {L : Functor Cโ‚ Cโ‚‚} {R : Functor Dโ‚ Dโ‚‚} {B : Functor Cโ‚‚ Dโ‚‚} (w : TwoSquare T L R B) {L' : Functor Cโ‚ Cโ‚‚} {R' : Functor Dโ‚ Dโ‚‚} [w.GuitartExact] (ฮฑ : L โ‰… L') (ฮฒ : R โ‰… R') :

      A 2-square stays Guitart exact if we replace the left and right functors by isomorphic functors. See also whiskerVertical_iff.

      @[simp]
      theorem CategoryTheory.TwoSquare.GuitartExact.whiskerVertical_iff {Cโ‚ : Type u_1} {Cโ‚‚ : Type u_2} {Dโ‚ : Type u_4} {Dโ‚‚ : Type u_5} [Category.{v_1, u_1} Cโ‚] [Category.{v_2, u_2} Cโ‚‚] [Category.{v_4, u_4} Dโ‚] [Category.{v_5, u_5} Dโ‚‚] {T : Functor Cโ‚ Dโ‚} {L : Functor Cโ‚ Cโ‚‚} {R : Functor Dโ‚ Dโ‚‚} {B : Functor Cโ‚‚ Dโ‚‚} (w : TwoSquare T L R B) {L' : Functor Cโ‚ Cโ‚‚} {R' : Functor Dโ‚ Dโ‚‚} (ฮฑ : L โ‰… L') (ฮฒ : R โ‰… R') :

      A 2-square is Guitart exact iff it is so after replacing the left and right functors by isomorphic functors.

      instance CategoryTheory.TwoSquare.GuitartExact.instWhiskerVerticalOfIsIsoFunctor {Cโ‚ : Type u_1} {Cโ‚‚ : Type u_2} {Dโ‚ : Type u_4} {Dโ‚‚ : Type u_5} [Category.{v_1, u_1} Cโ‚] [Category.{v_2, u_2} Cโ‚‚] [Category.{v_4, u_4} Dโ‚] [Category.{v_5, u_5} Dโ‚‚] {T : Functor Cโ‚ Dโ‚} {L : Functor Cโ‚ Cโ‚‚} {R : Functor Dโ‚ Dโ‚‚} {B : Functor Cโ‚‚ Dโ‚‚} (w : TwoSquare T L R B) {L' : Functor Cโ‚ Cโ‚‚} {R' : Functor Dโ‚ Dโ‚‚} [w.GuitartExact] (ฮฑ : L โŸถ L') (ฮฒ : R' โŸถ R) [IsIso ฮฑ] [IsIso ฮฒ] :
      (w.whiskerVertical ฮฑ ฮฒ).GuitartExact
      def CategoryTheory.TwoSquare.structuredArrowDownwardsComp {Cโ‚ : Type u_1} {Cโ‚‚ : Type u_2} {Cโ‚ƒ : Type u_3} {Dโ‚ : Type u_4} {Dโ‚‚ : Type u_5} {Dโ‚ƒ : Type u_6} [Category.{v_1, u_1} Cโ‚] [Category.{v_2, u_2} Cโ‚‚] [Category.{v_3, u_3} Cโ‚ƒ] [Category.{v_4, u_4} Dโ‚] [Category.{v_5, u_5} Dโ‚‚] [Category.{v_6, u_6} Dโ‚ƒ] {Hโ‚ : Functor Cโ‚ Dโ‚} {Lโ‚ : Functor Cโ‚ Cโ‚‚} {Rโ‚ : Functor Dโ‚ Dโ‚‚} {Hโ‚‚ : Functor Cโ‚‚ Dโ‚‚} (w : TwoSquare Hโ‚ Lโ‚ Rโ‚ Hโ‚‚) {Lโ‚‚ : Functor Cโ‚‚ Cโ‚ƒ} {Rโ‚‚ : Functor Dโ‚‚ Dโ‚ƒ} {Hโ‚ƒ : Functor Cโ‚ƒ Dโ‚ƒ} (w' : TwoSquare Hโ‚‚ Lโ‚‚ Rโ‚‚ Hโ‚ƒ) (Yโ‚ : Dโ‚) :

      The canonical isomorphism between w.structuredArrowDownwards Yโ‚ โ‹™ w'.structuredArrowDownwards (Rโ‚.obj Yโ‚) and (w โ‰ซแตฅ w').structuredArrowDownwards Yโ‚.

      Equations
        Instances For
          def CategoryTheory.TwoSquare.vComp' {Cโ‚ : Type u_1} {Cโ‚‚ : Type u_2} {Cโ‚ƒ : Type u_3} {Dโ‚ : Type u_4} {Dโ‚‚ : Type u_5} {Dโ‚ƒ : Type u_6} [Category.{v_1, u_1} Cโ‚] [Category.{v_2, u_2} Cโ‚‚] [Category.{v_3, u_3} Cโ‚ƒ] [Category.{v_4, u_4} Dโ‚] [Category.{v_5, u_5} Dโ‚‚] [Category.{v_6, u_6} Dโ‚ƒ] {Hโ‚ : Functor Cโ‚ Dโ‚} {Lโ‚ : Functor Cโ‚ Cโ‚‚} {Rโ‚ : Functor Dโ‚ Dโ‚‚} {Hโ‚‚ : Functor Cโ‚‚ Dโ‚‚} (w : TwoSquare Hโ‚ Lโ‚ Rโ‚ Hโ‚‚) {Lโ‚‚ : Functor Cโ‚‚ Cโ‚ƒ} {Rโ‚‚ : Functor Dโ‚‚ Dโ‚ƒ} {Hโ‚ƒ : Functor Cโ‚ƒ Dโ‚ƒ} (w' : TwoSquare Hโ‚‚ Lโ‚‚ Rโ‚‚ Hโ‚ƒ) {Lโ‚โ‚‚ : Functor Cโ‚ Cโ‚ƒ} {Rโ‚โ‚‚ : Functor Dโ‚ Dโ‚ƒ} (eL : Lโ‚.comp Lโ‚‚ โ‰… Lโ‚โ‚‚) (eR : Rโ‚.comp Rโ‚‚ โ‰… Rโ‚โ‚‚) :
          TwoSquare Hโ‚ Lโ‚โ‚‚ Rโ‚โ‚‚ Hโ‚ƒ

          The vertical composition of 2-squares. (Variant where we allow the replacement of the vertical compositions by isomorphic functors.)

          Equations
            Instances For
              @[simp]
              theorem CategoryTheory.TwoSquare.vComp'_app {Cโ‚ : Type u_1} {Cโ‚‚ : Type u_2} {Cโ‚ƒ : Type u_3} {Dโ‚ : Type u_4} {Dโ‚‚ : Type u_5} {Dโ‚ƒ : Type u_6} [Category.{v_1, u_1} Cโ‚] [Category.{v_2, u_2} Cโ‚‚] [Category.{v_3, u_3} Cโ‚ƒ] [Category.{v_4, u_4} Dโ‚] [Category.{v_5, u_5} Dโ‚‚] [Category.{v_6, u_6} Dโ‚ƒ] {Hโ‚ : Functor Cโ‚ Dโ‚} {Lโ‚ : Functor Cโ‚ Cโ‚‚} {Rโ‚ : Functor Dโ‚ Dโ‚‚} {Hโ‚‚ : Functor Cโ‚‚ Dโ‚‚} (w : TwoSquare Hโ‚ Lโ‚ Rโ‚ Hโ‚‚) {Lโ‚‚ : Functor Cโ‚‚ Cโ‚ƒ} {Rโ‚‚ : Functor Dโ‚‚ Dโ‚ƒ} {Hโ‚ƒ : Functor Cโ‚ƒ Dโ‚ƒ} (w' : TwoSquare Hโ‚‚ Lโ‚‚ Rโ‚‚ Hโ‚ƒ) {Lโ‚โ‚‚ : Functor Cโ‚ Cโ‚ƒ} {Rโ‚โ‚‚ : Functor Dโ‚ Dโ‚ƒ} (eL : Lโ‚.comp Lโ‚‚ โ‰… Lโ‚โ‚‚) (eR : Rโ‚.comp Rโ‚‚ โ‰… Rโ‚โ‚‚) (X : Cโ‚) :
              (w.vComp' w' eL eR).app X = CategoryStruct.comp (eR.inv.app (Hโ‚.obj X)) (CategoryStruct.comp (Rโ‚‚.map (w.natTrans.app X)) (CategoryStruct.comp (w'.natTrans.app (Lโ‚.obj X)) (Hโ‚ƒ.map (eL.hom.app X))))
              instance CategoryTheory.TwoSquare.GuitartExact.vComp {Cโ‚ : Type u_1} {Cโ‚‚ : Type u_2} {Cโ‚ƒ : Type u_3} {Dโ‚ : Type u_4} {Dโ‚‚ : Type u_5} {Dโ‚ƒ : Type u_6} [Category.{v_1, u_1} Cโ‚] [Category.{v_2, u_2} Cโ‚‚] [Category.{v_3, u_3} Cโ‚ƒ] [Category.{v_4, u_4} Dโ‚] [Category.{v_5, u_5} Dโ‚‚] [Category.{v_6, u_6} Dโ‚ƒ] {Hโ‚ : Functor Cโ‚ Dโ‚} {Lโ‚ : Functor Cโ‚ Cโ‚‚} {Rโ‚ : Functor Dโ‚ Dโ‚‚} {Hโ‚‚ : Functor Cโ‚‚ Dโ‚‚} (w : TwoSquare Hโ‚ Lโ‚ Rโ‚ Hโ‚‚) {Lโ‚‚ : Functor Cโ‚‚ Cโ‚ƒ} {Rโ‚‚ : Functor Dโ‚‚ Dโ‚ƒ} {Hโ‚ƒ : Functor Cโ‚ƒ Dโ‚ƒ} (w' : TwoSquare Hโ‚‚ Lโ‚‚ Rโ‚‚ Hโ‚ƒ) [hw : w.GuitartExact] [hw' : w'.GuitartExact] :
              instance CategoryTheory.TwoSquare.GuitartExact.vComp' {Cโ‚ : Type u_1} {Cโ‚‚ : Type u_2} {Cโ‚ƒ : Type u_3} {Dโ‚ : Type u_4} {Dโ‚‚ : Type u_5} {Dโ‚ƒ : Type u_6} [Category.{v_1, u_1} Cโ‚] [Category.{v_2, u_2} Cโ‚‚] [Category.{v_3, u_3} Cโ‚ƒ] [Category.{v_4, u_4} Dโ‚] [Category.{v_5, u_5} Dโ‚‚] [Category.{v_6, u_6} Dโ‚ƒ] {Hโ‚ : Functor Cโ‚ Dโ‚} {Lโ‚ : Functor Cโ‚ Cโ‚‚} {Rโ‚ : Functor Dโ‚ Dโ‚‚} {Hโ‚‚ : Functor Cโ‚‚ Dโ‚‚} (w : TwoSquare Hโ‚ Lโ‚ Rโ‚ Hโ‚‚) {Lโ‚‚ : Functor Cโ‚‚ Cโ‚ƒ} {Rโ‚‚ : Functor Dโ‚‚ Dโ‚ƒ} {Hโ‚ƒ : Functor Cโ‚ƒ Dโ‚ƒ} (w' : TwoSquare Hโ‚‚ Lโ‚‚ Rโ‚‚ Hโ‚ƒ) [w.GuitartExact] [w'.GuitartExact] {Lโ‚โ‚‚ : Functor Cโ‚ Cโ‚ƒ} {Rโ‚โ‚‚ : Functor Dโ‚ Dโ‚ƒ} (eL : Lโ‚.comp Lโ‚‚ โ‰… Lโ‚โ‚‚) (eR : Rโ‚.comp Rโ‚‚ โ‰… Rโ‚โ‚‚) :
              (w.vComp' w' eL eR).GuitartExact
              theorem CategoryTheory.TwoSquare.GuitartExact.vComp_iff_of_equivalences {Cโ‚ : Type u_1} {Cโ‚‚ : Type u_2} {Cโ‚ƒ : Type u_3} {Dโ‚ : Type u_4} {Dโ‚‚ : Type u_5} {Dโ‚ƒ : Type u_6} [Category.{v_1, u_1} Cโ‚] [Category.{v_2, u_2} Cโ‚‚] [Category.{v_3, u_3} Cโ‚ƒ] [Category.{v_4, u_4} Dโ‚] [Category.{v_5, u_5} Dโ‚‚] [Category.{v_6, u_6} Dโ‚ƒ] {Hโ‚ : Functor Cโ‚ Dโ‚} {Lโ‚ : Functor Cโ‚ Cโ‚‚} {Rโ‚ : Functor Dโ‚ Dโ‚‚} {Hโ‚‚ : Functor Cโ‚‚ Dโ‚‚} (w : TwoSquare Hโ‚ Lโ‚ Rโ‚ Hโ‚‚) {Hโ‚ƒ : Functor Cโ‚ƒ Dโ‚ƒ} (eL : Cโ‚‚ โ‰Œ Cโ‚ƒ) (eR : Dโ‚‚ โ‰Œ Dโ‚ƒ) (w' : Hโ‚‚.comp eR.functor โ‰… eL.functor.comp Hโ‚ƒ) :
              theorem CategoryTheory.TwoSquare.GuitartExact.vComp'_iff_of_equivalences {Cโ‚ : Type u_1} {Cโ‚‚ : Type u_2} {Cโ‚ƒ : Type u_3} {Dโ‚ : Type u_4} {Dโ‚‚ : Type u_5} {Dโ‚ƒ : Type u_6} [Category.{v_1, u_1} Cโ‚] [Category.{v_2, u_2} Cโ‚‚] [Category.{v_3, u_3} Cโ‚ƒ] [Category.{v_4, u_4} Dโ‚] [Category.{v_5, u_5} Dโ‚‚] [Category.{v_6, u_6} Dโ‚ƒ] {Hโ‚ : Functor Cโ‚ Dโ‚} {Lโ‚ : Functor Cโ‚ Cโ‚‚} {Rโ‚ : Functor Dโ‚ Dโ‚‚} {Hโ‚‚ : Functor Cโ‚‚ Dโ‚‚} (w : TwoSquare Hโ‚ Lโ‚ Rโ‚ Hโ‚‚) {Hโ‚ƒ : Functor Cโ‚ƒ Dโ‚ƒ} (E : Cโ‚‚ โ‰Œ Cโ‚ƒ) (E' : Dโ‚‚ โ‰Œ Dโ‚ƒ) (w' : Hโ‚‚.comp E'.functor โ‰… E.functor.comp Hโ‚ƒ) {Lโ‚โ‚‚ : Functor Cโ‚ Cโ‚ƒ} {Rโ‚โ‚‚ : Functor Dโ‚ Dโ‚ƒ} (eL : Lโ‚.comp E.functor โ‰… Lโ‚โ‚‚) (eR : Rโ‚.comp E'.functor โ‰… Rโ‚โ‚‚) :