Documentation

Mathlib.CategoryTheory.Bicategory.Adjunction.Basic

Adjunctions in bicategories #

For 1-morphisms f : a ⟶ b and g : b ⟶ a in a bicategory, an adjunction between f and g consists of a pair of 2-morphisms η : 𝟙 a ⟶ f ≫ g and ε : g ≫ f ⟶ 𝟙 b satisfying the triangle identities. The 2-morphism η is called the unit and ε is called the counit.

Main definitions #

TODO #

@[reducible, inline]

The 2-morphism defined by the following pasting diagram:

a ------ ▸ a
  \    η      ◥   \
  f \   g  /       \ f
       ◢  /     ε      ◢
        b ------ ▸ b
Instances For
    @[reducible, inline]

    The 2-morphism defined by the following pasting diagram:

            a ------ ▸ a
           ◥  \     η      ◥
      g /      \ f     / g
      /    ε      ◢   /
    b ------ ▸ b
    
    Instances For
      structure CategoryTheory.Bicategory.Adjunction {B : Type u} [Bicategory B] {a b : B} (f : a b) (g : b a) :

      Adjunction between two 1-morphisms.

      Instances For
        theorem CategoryTheory.Bicategory.Adjunction.ext_iff {B : Type u} {inst✝ : Bicategory B} {a b : B} {f : a b} {g : b a} {x y : Adjunction f g} :
        x = y x.unit = y.unit x.counit = y.counit
        theorem CategoryTheory.Bicategory.Adjunction.ext {B : Type u} {inst✝ : Bicategory B} {a b : B} {f : a b} {g : b a} {x y : Adjunction f g} (unit : x.unit = y.unit) (counit : x.counit = y.counit) :
        x = y
        def CategoryTheory.Bicategory.«term_⊣_» :
        Lean.TrailingParserDescr

        Adjunction between two 1-morphisms.

        Instances For

          Adjunction between identities.

          Instances For
            def CategoryTheory.Bicategory.Adjunction.compUnit {B : Type u} [Bicategory B] {a b c : B} {f₁ : a b} {g₁ : b a} {f₂ : b c} {g₂ : c b} (adj₁ : Adjunction f₁ g₁) (adj₂ : Adjunction f₂ g₂) :

            Auxiliary definition for Adjunction.comp.

            Instances For
              def CategoryTheory.Bicategory.Adjunction.compCounit {B : Type u} [Bicategory B] {a b c : B} {f₁ : a b} {g₁ : b a} {f₂ : b c} {g₂ : c b} (adj₁ : Adjunction f₁ g₁) (adj₂ : Adjunction f₂ g₂) :

              Auxiliary definition for Adjunction.comp.

              Instances For
                theorem CategoryTheory.Bicategory.Adjunction.comp_left_triangle_aux {B : Type u} [Bicategory B] {a b c : B} {f₁ : a b} {g₁ : b a} {f₂ : b c} {g₂ : c b} (adj₁ : Adjunction f₁ g₁) (adj₂ : Adjunction f₂ g₂) :
                theorem CategoryTheory.Bicategory.Adjunction.comp_right_triangle_aux {B : Type u} [Bicategory B] {a b c : B} {f₁ : a b} {g₁ : b a} {f₂ : b c} {g₂ : c b} (adj₁ : Adjunction f₁ g₁) (adj₂ : Adjunction f₂ g₂) :
                def CategoryTheory.Bicategory.Adjunction.comp {B : Type u} [Bicategory B] {a b c : B} {f₁ : a b} {g₁ : b a} {f₂ : b c} {g₂ : c b} (adj₁ : Adjunction f₁ g₁) (adj₂ : Adjunction f₂ g₂) :

                Composition of adjunctions.

                Instances For
                  @[simp]
                  theorem CategoryTheory.Bicategory.Adjunction.comp_counit {B : Type u} [Bicategory B] {a b c : B} {f₁ : a b} {g₁ : b a} {f₂ : b c} {g₂ : c b} (adj₁ : Adjunction f₁ g₁) (adj₂ : Adjunction f₂ g₂) :
                  (adj₁.comp adj₂).counit = adj₁.compCounit adj₂
                  @[simp]
                  theorem CategoryTheory.Bicategory.Adjunction.comp_unit {B : Type u} [Bicategory B] {a b c : B} {f₁ : a b} {g₁ : b a} {f₂ : b c} {g₂ : c b} (adj₁ : Adjunction f₁ g₁) (adj₂ : Adjunction f₂ g₂) :
                  (adj₁.comp adj₂).unit = adj₁.compUnit adj₂
                  @[reducible, inline]

                  The isomorphism version of leftZigzag.

                  Instances For
                    @[reducible, inline]

                    The isomorphism version of rightZigzag.

                    Instances For
                      structure CategoryTheory.Bicategory.Equivalence {B : Type u} [Bicategory B] (a b : B) :
                      Type (max v w)

                      Adjoint equivalences between two objects.

                      Instances For
                        def CategoryTheory.Bicategory.«term_≌_» :
                        Lean.TrailingParserDescr

                        Adjoint equivalences between two objects.

                        Instances For

                          The identity 1-morphism is an equivalence.

                          Instances For
                            @[implicit_reducible]

                            Construct an adjoint equivalence from 2-isomorphisms by upgrading ε to a counit.

                            Instances For
                              structure CategoryTheory.Bicategory.RightAdjoint {B : Type u} [Bicategory B] {a b : B} (left : a b) :
                              Type (max v w)

                              A structure giving a chosen right adjoint of a 1-morphism left.

                              Instances For
                                class CategoryTheory.Bicategory.IsLeftAdjoint {B : Type u} [Bicategory B] {a b : B} (left : a b) :

                                The existence of a right adjoint of f.

                                Instances
                                  theorem CategoryTheory.Bicategory.IsLeftAdjoint.mk {B : Type u} [Bicategory B] {a b : B} {f : a b} {g : b a} (adj : Adjunction f g) :
                                  noncomputable def CategoryTheory.Bicategory.getRightAdjoint {B : Type u} [Bicategory B] {a b : B} (f : a b) [IsLeftAdjoint f] :

                                  Use the axiom of choice to extract a right adjoint from an IsLeftAdjoint instance.

                                  Instances For
                                    noncomputable def CategoryTheory.Bicategory.rightAdjoint {B : Type u} [Bicategory B] {a b : B} (f : a b) [IsLeftAdjoint f] :
                                    b a

                                    The right adjoint of a 1-morphism.

                                    Instances For

                                      Evidence that rightAdjoint f is a right adjoint of f.

                                      Instances For
                                        structure CategoryTheory.Bicategory.LeftAdjoint {B : Type u} [Bicategory B] {a b : B} (right : b a) :
                                        Type (max v w)

                                        A structure giving a chosen left adjoint of a 1-morphism right.

                                        Instances For
                                          class CategoryTheory.Bicategory.IsRightAdjoint {B : Type u} [Bicategory B] {a b : B} (right : b a) :

                                          The existence of a left adjoint of right.

                                          Instances
                                            theorem CategoryTheory.Bicategory.IsRightAdjoint.mk {B : Type u} [Bicategory B] {a b : B} {f : a b} {g : b a} (adj : Adjunction f g) :
                                            noncomputable def CategoryTheory.Bicategory.getLeftAdjoint {B : Type u} [Bicategory B] {a b : B} (f : b a) [IsRightAdjoint f] :

                                            Use the axiom of choice to extract a left adjoint from an IsRightAdjoint instance.

                                            Instances For
                                              noncomputable def CategoryTheory.Bicategory.leftAdjoint {B : Type u} [Bicategory B] {a b : B} (f : b a) [IsRightAdjoint f] :
                                              a b

                                              The left adjoint of a 1-morphism.

                                              Instances For

                                                Evidence that leftAdjoint f is a left adjoint of f.

                                                Instances For