Documentation

Mathlib.CategoryTheory.FiberedCategory.Cartesian

Cartesian morphisms #

This file defines cartesian resp. strongly cartesian morphisms with respect to a functor p : š’³ ℤ š’®.

Main definitions #

IsCartesian p f φ expresses that φ is a cartesian morphism lying over f with respect to p in the sense of SGA 1 VI 5.1. This means that for any morphism φ' : a' ⟶ b lying over f there is a unique morphism Ļ„ : a' ⟶ a lying over šŸ™ R, such that φ' = Ļ„ ≫ φ.

IsStronglyCartesian p f φ expresses that φ is a strongly cartesian morphism lying over f with respect to p, see https://stacks.math.columbia.edu/tag/02XK.

Implementation #

The constructor of IsStronglyCartesian has been named universal_property', and is mainly intended to be used for constructing instances of this class. To use the universal property, we generally recommended to use the lemma IsStronglyCartesian.universal_property instead. The difference between the two is that the latter is more flexible with respect to non-definitional equalities.

References #

class CategoryTheory.Functor.IsCartesian {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) extends CategoryTheory.Functor.IsHomLift :

The proposition that a morphism φ : a ⟶ b in š’³ lying over f : R ⟶ S in š’® is a cartesian morphism.

See SGA 1 VI 5.1.

Instances
    theorem CategoryTheory.Functor.IsCartesian.universal_property {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] {p : CategoryTheory.Functor š’³ š’®} {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) {φ : a ⟶ b} [self : p.IsCartesian f φ] {a' : š’³} (φ' : a' ⟶ b) [p.IsHomLift f φ'] :
    ∃! χ : a' ⟶ a, p.IsHomLift (CategoryTheory.CategoryStruct.id R) χ ∧ CategoryTheory.CategoryStruct.comp χ φ = φ'
    class CategoryTheory.Functor.IsStronglyCartesian {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) extends CategoryTheory.Functor.IsHomLift :

    The proposition that a morphism φ : a ⟶ b in š’³ lying over f : R ⟶ S in š’® is a strongly cartesian morphism.

    See https://stacks.math.columbia.edu/tag/02XK

    Instances
      theorem CategoryTheory.Functor.IsStronglyCartesian.universal_property' {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] {p : CategoryTheory.Functor š’³ š’®} {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) {φ : a ⟶ b} [self : p.IsStronglyCartesian f φ] {a' : š’³} (g : p.obj a' ⟶ R) (φ' : a' ⟶ b) [p.IsHomLift (CategoryTheory.CategoryStruct.comp g f) φ'] :
      ∃! χ : a' ⟶ a, p.IsHomLift g χ ∧ CategoryTheory.CategoryStruct.comp χ φ = φ'
      noncomputable def CategoryTheory.Functor.IsCartesian.map {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsCartesian f φ] {a' : š’³} (φ' : a' ⟶ b) [p.IsHomLift f φ'] :
      a' ⟶ a

      Given a cartesian morphism φ : a ⟶ b lying over f : R ⟶ S in š’³, and another morphism φ' : a' ⟶ b which also lifts f, then IsCartesian.map f φ φ' is the morphism a' ⟶ a lifting šŸ™ R obtained from the universal property of φ.

      Equations
      Instances For
        instance CategoryTheory.Functor.IsCartesian.map_isHomLift {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsCartesian f φ] {a' : š’³} (φ' : a' ⟶ b) [p.IsHomLift f φ'] :
        Equations
        • ⋯ = ⋯
        @[simp]
        theorem CategoryTheory.Functor.IsCartesian.fac_assoc {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsCartesian f φ] {a' : š’³} (φ' : a' ⟶ b) [p.IsHomLift f φ'] {Z : š’³} (h : b ⟶ Z) :
        @[simp]
        theorem CategoryTheory.Functor.IsCartesian.fac {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsCartesian f φ] {a' : š’³} (φ' : a' ⟶ b) [p.IsHomLift f φ'] :
        theorem CategoryTheory.Functor.IsCartesian.map_uniq {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsCartesian f φ] {a' : š’³} (φ' : a' ⟶ b) [p.IsHomLift f φ'] (ψ : a' ⟶ a) [p.IsHomLift (CategoryTheory.CategoryStruct.id R) ψ] (hψ : CategoryTheory.CategoryStruct.comp ψ φ = φ') :

        Given a cartesian morphism φ : a ⟶ b lying over f : R ⟶ S in š’³, and another morphism φ' : a' ⟶ b which also lifts f. Then any morphism ψ : a' ⟶ a lifting šŸ™ R such that g ≫ ψ = φ' must equal the map induced from the universal property of φ.

        theorem CategoryTheory.Functor.IsCartesian.ext {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsCartesian f φ] {a' : š’³} (ψ : a' ⟶ a) (ψ' : a' ⟶ a) [p.IsHomLift (CategoryTheory.CategoryStruct.id R) ψ] [p.IsHomLift (CategoryTheory.CategoryStruct.id R) ψ'] (h : CategoryTheory.CategoryStruct.comp ψ φ = CategoryTheory.CategoryStruct.comp ψ' φ) :
        ψ = ψ'

        Given a cartesian morphism φ : a ⟶ b lying over f : R ⟶ S in š’³, and two morphisms ψ ψ' : a' ⟶ a such that ψ ≫ φ = ψ' ≫ φ. Then we must have ψ = ψ'.

        @[simp]
        theorem CategoryTheory.Functor.IsCartesian.map_self {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsCartesian f φ] :
        noncomputable def CategoryTheory.Functor.IsCartesian.domainUniqueUpToIso {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsCartesian f φ] {a' : š’³} (φ' : a' ⟶ b) [p.IsCartesian f φ'] :
        a' ≅ a

        The canonical isomorphism between the domains of two cartesian morphisms lying over the same object.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          instance CategoryTheory.Functor.IsCartesian.of_iso_comp {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsCartesian f φ] {a' : š’³} (φ' : a' ≅ a) [p.IsHomLift (CategoryTheory.CategoryStruct.id R) φ'.hom] :
          p.IsCartesian f (CategoryTheory.CategoryStruct.comp φ'.hom φ)

          Precomposing a cartesian morphism with an isomorphism lifting the identity is cartesian.

          Equations
          • ⋯ = ⋯
          instance CategoryTheory.Functor.IsCartesian.of_comp_iso {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsCartesian f φ] {b' : š’³} (φ' : b ≅ b') [p.IsHomLift (CategoryTheory.CategoryStruct.id S) φ'.hom] :
          p.IsCartesian f (CategoryTheory.CategoryStruct.comp φ φ'.hom)

          Postcomposing a cartesian morphism with an isomorphism lifting the identity is cartesian.

          Equations
          • ⋯ = ⋯
          theorem CategoryTheory.Functor.IsStronglyCartesian.universal_property {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsStronglyCartesian f φ] {R' : š’®} {a' : š’³} (g : R' ⟶ R) (f' : R' ⟶ S) (hf' : f' = CategoryTheory.CategoryStruct.comp g f) (φ' : a' ⟶ b) [p.IsHomLift f' φ'] :
          ∃! χ : a' ⟶ a, p.IsHomLift g χ ∧ CategoryTheory.CategoryStruct.comp χ φ = φ'

          The universal property of a strongly cartesian morphism.

          This lemma is more flexible with respect to non-definitional equalities than the field universal_property' of IsStronglyCartesian.

          instance CategoryTheory.Functor.IsStronglyCartesian.isCartesian_of_isStronglyCartesian {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsStronglyCartesian f φ] :
          p.IsCartesian f φ
          Equations
          • ⋯ = ⋯
          noncomputable def CategoryTheory.Functor.IsStronglyCartesian.map {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsStronglyCartesian f φ] {R' : š’®} {a' : š’³} {g : R' ⟶ R} {f' : R' ⟶ S} (hf' : f' = CategoryTheory.CategoryStruct.comp g f) (φ' : a' ⟶ b) [p.IsHomLift f' φ'] :
          a' ⟶ a

          Given a diagram

          a'        a --φ--> b
          |         |        |
          v         v        v
          R' --g--> R --f--> S
          

          such that φ is strongly cartesian, and a morphism φ' : a' ⟶ b. Then map is the map a' ⟶ a lying over g obtained from the universal property of φ.

          Equations
          Instances For
            instance CategoryTheory.Functor.IsStronglyCartesian.map_isHomLift {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsStronglyCartesian f φ] {R' : š’®} {a' : š’³} {g : R' ⟶ R} {f' : R' ⟶ S} (hf' : f' = CategoryTheory.CategoryStruct.comp g f) (φ' : a' ⟶ b) [p.IsHomLift f' φ'] :
            p.IsHomLift g (CategoryTheory.Functor.IsStronglyCartesian.map p f φ hf' φ')
            Equations
            • ⋯ = ⋯
            @[simp]
            theorem CategoryTheory.Functor.IsStronglyCartesian.fac_assoc {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsStronglyCartesian f φ] {R' : š’®} {a' : š’³} {g : R' ⟶ R} {f' : R' ⟶ S} (hf' : f' = CategoryTheory.CategoryStruct.comp g f) (φ' : a' ⟶ b) [p.IsHomLift f' φ'] {Z : š’³} (h : b ⟶ Z) :
            @[simp]
            theorem CategoryTheory.Functor.IsStronglyCartesian.fac {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsStronglyCartesian f φ] {R' : š’®} {a' : š’³} {g : R' ⟶ R} {f' : R' ⟶ S} (hf' : f' = CategoryTheory.CategoryStruct.comp g f) (φ' : a' ⟶ b) [p.IsHomLift f' φ'] :
            theorem CategoryTheory.Functor.IsStronglyCartesian.map_uniq {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsStronglyCartesian f φ] {R' : š’®} {a' : š’³} {g : R' ⟶ R} {f' : R' ⟶ S} (hf' : f' = CategoryTheory.CategoryStruct.comp g f) (φ' : a' ⟶ b) [p.IsHomLift f' φ'] (ψ : a' ⟶ a) [p.IsHomLift g ψ] (hψ : CategoryTheory.CategoryStruct.comp ψ φ = φ') :

            Given a diagram

            a'        a --φ--> b
            |         |        |
            v         v        v
            R' --g--> R --f--> S
            

            such that φ is strongly cartesian, and morphisms φ' : a' ⟶ b, ψ : a' ⟶ a such that ψ ≫ φ = φ'. Then ψ is the map induced by the universal property.

            theorem CategoryTheory.Functor.IsStronglyCartesian.ext {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsStronglyCartesian f φ] {R' : š’®} {a' : š’³} (g : R' ⟶ R) {ψ : a' ⟶ a} {ψ' : a' ⟶ a} [p.IsHomLift g ψ] [p.IsHomLift g ψ'] (h : CategoryTheory.CategoryStruct.comp ψ φ = CategoryTheory.CategoryStruct.comp ψ' φ) :
            ψ = ψ'

            Given a diagram

            a'        a --φ--> b
            |         |        |
            v         v        v
            R' --g--> R --f--> S
            

            such that φ is strongly cartesian, and morphisms ψ ψ' : a' ⟶ a such that g ≫ ψ = φ' = g ≫ ψ'. Then we have that ψ = ψ'.

            @[simp]
            theorem CategoryTheory.Functor.IsStronglyCartesian.map_self {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsStronglyCartesian f φ] :
            @[simp]
            theorem CategoryTheory.Functor.IsStronglyCartesian.map_comp_map_assoc {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsStronglyCartesian f φ] {R' : š’®} {R'' : š’®} {a' : š’³} {a'' : š’³} {f' : R' ⟶ S} {f'' : R'' ⟶ S} {g : R' ⟶ R} {g' : R'' ⟶ R'} (H : f' = CategoryTheory.CategoryStruct.comp g f) (H' : f'' = CategoryTheory.CategoryStruct.comp g' f') (φ' : a' ⟶ b) (φ'' : a'' ⟶ b) [p.IsStronglyCartesian f' φ'] [p.IsHomLift f'' φ''] {Z : š’³} (h : a ⟶ Z) :
            @[simp]
            theorem CategoryTheory.Functor.IsStronglyCartesian.map_comp_map {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsStronglyCartesian f φ] {R' : š’®} {R'' : š’®} {a' : š’³} {a'' : š’³} {f' : R' ⟶ S} {f'' : R'' ⟶ S} {g : R' ⟶ R} {g' : R'' ⟶ R'} (H : f' = CategoryTheory.CategoryStruct.comp g f) (H' : f'' = CategoryTheory.CategoryStruct.comp g' f') (φ' : a' ⟶ b) (φ'' : a'' ⟶ b) [p.IsStronglyCartesian f' φ'] [p.IsHomLift f'' φ''] :

            When its possible to compare the two, the composition of two IsCocartesian.map will also be given by a IsCocartesian.map. In other words, given diagrams

            a''         a'        a --φ--> b          a' --φ'--> b          a'' --φ''--> b
            |           |         |        |    and   |          |    and   |            |
            v           v         v        v          v          v          v            v
            R'' --g'--> R' --g--> R --f--> S          R' --f'--> S          R'' --f''--> S
            

            such that φ and φ' are strongly cartesian morphisms. Then composing the induced map from a'' ⟶ a' with the induced map from a' ⟶ a gives the induced map from a'' ⟶ a.

            instance CategoryTheory.Functor.IsStronglyCartesian.comp {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {T : š’®} {a : š’³} {b : š’³} {c : š’³} {f : R ⟶ S} {g : S ⟶ T} {φ : a ⟶ b} {ψ : b ⟶ c} [p.IsStronglyCartesian f φ] [p.IsStronglyCartesian g ψ] :

            Given two strongly cartesian morphisms φ, ψ as follows

            a --φ--> b --ψ--> c
            |        |        |
            v        v        v
            R --f--> S --g--> T
            

            Then the composite φ ≫ ψ is also strongly cartesian.

            Equations
            • ⋯ = ⋯
            theorem CategoryTheory.Functor.IsStronglyCartesian.of_comp {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {T : š’®} {a : š’³} {b : š’³} {c : š’³} {f : R ⟶ S} {g : S ⟶ T} {φ : a ⟶ b} {ψ : b ⟶ c} [p.IsStronglyCartesian g ψ] [p.IsStronglyCartesian (CategoryTheory.CategoryStruct.comp f g) (CategoryTheory.CategoryStruct.comp φ ψ)] [p.IsHomLift f φ] :
            p.IsStronglyCartesian f φ

            Given two commutative squares

            a --φ--> b --ψ--> c
            |        |        |
            v        v        v
            R --f--> S --g--> T
            

            such that φ ≫ ψ and ψ are strongly cartesian, then so is φ.

            instance CategoryTheory.Functor.IsStronglyCartesian.of_iso {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ≅ b) [p.IsHomLift f φ.hom] :
            p.IsStronglyCartesian f φ.hom
            Equations
            • ⋯ = ⋯
            instance CategoryTheory.Functor.IsStronglyCartesian.of_isIso {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsHomLift f φ] [CategoryTheory.IsIso φ] :
            p.IsStronglyCartesian f φ
            Equations
            • ⋯ = ⋯
            theorem CategoryTheory.Functor.IsStronglyCartesian.isIso_of_base_isIso {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {S : š’®} {a : š’³} {b : š’³} (f : R ⟶ S) (φ : a ⟶ b) [p.IsStronglyCartesian f φ] [CategoryTheory.IsIso f] :

            A strongly cartesian morphism lying over an isomorphism is an isomorphism.

            noncomputable def CategoryTheory.Functor.IsStronglyCartesian.domainIsoOfBaseIso {š’® : Type u₁} {š’³ : Type uā‚‚} [CategoryTheory.Category.{v₁, u₁} š’®] [CategoryTheory.Category.{vā‚‚, uā‚‚} š’³] (p : CategoryTheory.Functor š’³ š’®) {R : š’®} {R' : š’®} {S : š’®} {a : š’³} {a' : š’³} {b : š’³} {f : R ⟶ S} {f' : R' ⟶ S} {g : R' ≅ R} (h : f' = CategoryTheory.CategoryStruct.comp g.hom f) (φ : a ⟶ b) (φ' : a' ⟶ b) [p.IsStronglyCartesian f φ] [p.IsStronglyCartesian f' φ'] :
            a' ≅ a

            The canonical isomorphism between the domains of two strongly cartesian morphisms lying over isomorphic objects.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For