Documentation

GroupoidModel.ForMathlib

This file contains declarations missing from mathlib, to be upstreamed.

@[simp]
theorem CategoryTheory.Limits.IsTerminal.comp_from_assoc {C : Type u₁} [Category.{v₁, u₁} C] {Z : C} (t : IsTerminal Z) {X Y : C} (f : X Y) {Z✝ : C} (h : Z Z✝) :
@[simp]
theorem CategoryTheory.Limits.IsInitial.to_comp_assoc {C : Type u₁} [Category.{v₁, u₁} C] {X : C} (t : IsInitial X) {Y Z : C} (f : Y Z) {Z✝ : C} (h : Z Z✝) :
theorem CategoryTheory.Limits.PullbackCone.IsLimit.comp_lift {C : Type u_1} [Category.{u_2, u_1} C] {X Y Z W' W : C} {f : X Z} {g : Y Z} {t : PullbackCone f g} (σ : W' W) (ht : IsLimit t) (h : W X) (k : W Y) (w : CategoryStruct.comp h f = CategoryStruct.comp k g) :
theorem CategoryTheory.Limits.PullbackCone.IsLimit.comp_lift_assoc {C : Type u_1} [Category.{u_2, u_1} C] {X Y Z W' W : C} {f : X Z} {g : Y Z} {t : PullbackCone f g} (σ : W' W) (ht : IsLimit t) (h : W X) (k : W Y) (w : CategoryStruct.comp h f = CategoryStruct.comp k g) {Z✝ : C} (h✝ : t.pt Z✝) :
@[simp]
theorem Part.assert_dom {α : Type u_1} (P : Prop) (x : PPart α) :
(assert P x).Dom ∃ (h : P), (x h).Dom
theorem CategoryTheory.Cat.eqToHom_hom_aux {C1 C2 : Cat} (x y : C1) (eq : C1 = C2) :
(x y) = ((eqToHom eq).obj x (eqToHom eq).obj y)

This is the proof of equality used in the eqToHom in Cat.eqToHom_hom

theorem CategoryTheory.Cat.eqToHom_hom {C1 C2 : Cat} {x y : C1} (f : x y) (eq : C1 = C2) :
(eqToHom eq).map f = cast f

This is the turns the hom part of eqToHom functors into a cast

theorem CategoryTheory.Cat.eqToHom_obj {C1 C2 : Cat} (x : C1) (eq : C1 = C2) :
(eqToHom eq).obj x = cast x

This turns the object part of eqToHom functors into casts

@[reducible, inline]
Equations
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem CategoryTheory.prod.eqToHom_fst (C : Type u_1) [Category.{u_3, u_1} C] (D : Type u_2) [Category.{u_4, u_2} D] (x y : C × D) (h : x = y) :
      (eqToHom h).1 = eqToHom
      @[simp]
      theorem CategoryTheory.prod.eqToHom_snd (C : Type u_1) [Category.{u_4, u_1} C] (D : Type u_2) [Category.{u_3, u_2} D] (x y : C × D) (h : x = y) :
      (eqToHom h).2 = eqToHom
      theorem CategoryTheory.IsPullback.of_iso_isPullback {C : Type u₁} [Category.{v₁, u₁} C] {P X Y Z : C} {fst : P X} {snd : P Y} {f : X Z} {g : Y Z} (h : IsPullback fst snd f g) {Q : C} (i : Q P) :
      @[simp]
      theorem CategoryTheory.AsSmall.up_map_down_map {C : Type u₁} [Category.{v₁, u₁} C] {X Y : C} (f : X Y) :
      down.map (up.map f) = f
      @[simp]
      theorem CategoryTheory.AsSmall.down_map_up_map {C : Type u₁} [Category.{v₁, u₁} C] {X Y : AsSmall C} (f : X Y) :
      up.map (down.map f) = f
      theorem CategoryTheory.AsSmall.comp_up_inj {C : Type u} [Category.{v, u} C] {D : Type u₁} [Category.{v₁, u₁} D] {F G : Functor C D} (h : F.comp up = G.comp up) :
      F = G
      Equations
      • One or more equations did not get rendered due to their size.
      @[reducible, inline]
      abbrev CategoryTheory.Grpd.homOf {C D : Type u} [Groupoid C] [Groupoid D] (F : Functor C D) :
      of C of D
      Equations
      Instances For
        theorem CategoryTheory.Grpd.homOf_comp {A B C : Type u} [Groupoid A] [Groupoid B] [Groupoid C] (F : Functor A B) (G : Functor B C) :
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[reducible, inline]

          The chosen terminal object in D.

          Equations
          Instances For

            The chosen terminal object in D is terminal.

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

              Product cones in D are defined using chosen products in C

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

                The chosen product cone in D is a limit.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      @[simp]
                      theorem CategoryTheory.Cat.map_id_obj {Γ : Type u₂} [Category.{v₂, u₂} Γ] {A : Functor Γ Cat} {x : Γ} {a : (A.obj x)} :
                      theorem CategoryTheory.Cat.map_id_map {Γ : Type u₂} [Category.{v₂, u₂} Γ] {A : Functor Γ Cat} {x : Γ} {a b : (A.obj x)} {f : a b} :
                      theorem CategoryTheory.Functor.Grothendieck.cast_eq {Γ : Type u_1} [Category.{u_2, u_1} Γ] {F G : Functor Γ Cat} (h : F = G) (p : F.Grothendieck) :
                      cast p = { base := p.base, fiber := cast p.fiber }
                      theorem CategoryTheory.Functor.Grothendieck.asFunctorFrom_hom_app {C : Type u} [Category.{v, u} C] {F : Functor C Cat} {E : Type u_2} [Category.{u_3, u_2} E] (K : Functor F.Grothendieck E) {c c' : C} (f : c c') (p : (F.obj c)) :
                      def CategoryTheory.Functor.Grothendieck.functorFrom_comp_fib {C : Type u} [Category.{v, u} C] {F : Functor C Cat} {E : Type u_2} [Category.{u_4, u_2} E] (fib : (c : C) → Functor (↑(F.obj c)) E) {D : Type u_3} [Category.{u_5, u_3} D] (G : Functor E D) (c : C) :
                      Functor (↑(F.obj c)) D
                      Equations
                      Instances For
                        def CategoryTheory.Functor.Grothendieck.functorFrom_comp_hom {C : Type u} [Category.{v, u} C] {F : Functor C Cat} {E : Type u_2} [Category.{u_4, u_2} E] (fib : (c : C) → Functor (↑(F.obj c)) E) (hom : {c c' : C} → (f : c c') → fib c comp (F.map f) (fib c')) {D : Type u_3} [Category.{u_5, u_3} D] (G : Functor E D) {c c' : C} (f : c c') :
                        Equations
                        Instances For
                          theorem CategoryTheory.Functor.Grothendieck.functorFrom_comp_hom_id {C : Type u} [Category.{v, u} C] {F : Functor C Cat} {E : Type u_2} [Category.{u_5, u_2} E] (fib : (c : C) → Functor (↑(F.obj c)) E) (hom : {c c' : C} → (f : c c') → fib c comp (F.map f) (fib c')) (hom_id : ∀ (c : C), hom (CategoryStruct.id c) = eqToHom ) {D : Type u_3} [Category.{u_4, u_3} D] (G : Functor E D) (c : C) :
                          functorFrom_comp_hom fib (fun {c c' : C} => hom) G (CategoryStruct.id c) = eqToHom
                          theorem CategoryTheory.Functor.Grothendieck.functorFrom_comp_hom_comp {C : Type u} [Category.{v, u} C] {F : Functor C Cat} {E : Type u_2} [Category.{u_5, u_2} E] (fib : (c : C) → Functor (↑(F.obj c)) E) (hom : {c c' : C} → (f : c c') → fib c comp (F.map f) (fib c')) (hom_comp : ∀ (c₁ c₂ c₃ : C) (f : c₁ c₂) (g : c₂ c₃), hom (CategoryStruct.comp f g) = CategoryStruct.comp (hom f) (CategoryStruct.comp (whiskerLeft (F.map f) (hom g)) (eqToHom ))) {D : Type u_3} [Category.{u_4, u_3} D] (G : Functor E D) (c₁ c₂ c₃ : C) (f : c₁ c₂) (g : c₂ c₃) :
                          functorFrom_comp_hom fib (fun {c c' : C} => hom) G (CategoryStruct.comp f g) = CategoryStruct.comp (functorFrom_comp_hom fib (fun {c c' : C} => hom) G f) (CategoryStruct.comp (whiskerLeft (F.map f) (functorFrom_comp_hom fib (fun {c c' : C} => hom) G g)) (eqToHom ))
                          theorem CategoryTheory.Functor.Grothendieck.functorFrom_comp {C : Type u} [Category.{v, u} C] {F : Functor C Cat} {E : Type u_2} [Category.{u_5, u_2} E] (fib : (c : C) → Functor (↑(F.obj c)) E) (hom : {c c' : C} → (f : c c') → fib c comp (F.map f) (fib c')) (hom_id : ∀ (c : C), hom (CategoryStruct.id c) = eqToHom ) (hom_comp : ∀ (c₁ c₂ c₃ : C) (f : c₁ c₂) (g : c₂ c₃), hom (CategoryStruct.comp f g) = CategoryStruct.comp (hom f) (CategoryStruct.comp (whiskerLeft (F.map f) (hom g)) (eqToHom ))) {D : Type u_3} [Category.{u_4, u_3} D] (G : Functor E D) :
                          (functorFrom fib (fun {c c' : C} => hom) hom_id hom_comp).comp G = functorFrom (functorFrom_comp_fib fib G) (fun {c c' : C} => functorFrom_comp_hom fib (fun {c c' : C} => hom) G)
                          theorem CategoryTheory.Functor.Grothendieck.functorFrom_eq_of {C : Type u} [Category.{v, u} C] {F : Functor C Cat} {E : Type u_2} [Category.{u_4, u_2} E] (fib : (c : C) → Functor (↑(F.obj c)) E) (hom : {c c' : C} → (f : c c') → fib c comp (F.map f) (fib c')) (hom_id : ∀ (c : C), hom (CategoryStruct.id c) = eqToHom ) (hom_comp : ∀ (c₁ c₂ c₃ : C) (f : c₁ c₂) (g : c₂ c₃), hom (CategoryStruct.comp f g) = CategoryStruct.comp (hom f) (CategoryStruct.comp (whiskerLeft (F.map f) (hom g)) (eqToHom ))) (fib' : (c : C) → Functor (↑(F.obj c)) E) (hom' : {c c' : C} → (f : c c') → fib' c comp (F.map f) (fib' c')) (hom_id' : ∀ (c : C), hom' (CategoryStruct.id c) = eqToHom ) (hom_comp' : ∀ (c₁ c₂ c₃ : C) (f : c₁ c₂) (g : c₂ c₃), hom' (CategoryStruct.comp f g) = CategoryStruct.comp (hom' f) (CategoryStruct.comp (whiskerLeft (F.map f) (hom' g)) (eqToHom ))) (ef : fib = fib') (hhom : ∀ {c c' : C} (f : c c'), CategoryStruct.comp (hom f) (eqToHom ) = CategoryStruct.comp (eqToHom ) (hom' f)) :
                          functorFrom fib (fun {c c' : C} => hom) hom_id hom_comp = functorFrom fib' (fun {c c' : C} => hom') hom_id' hom_comp'
                          @[simp]
                          theorem CategoryTheory.isoWhiskerLeft_eqToIso {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] (F : Functor C D) {G H : Functor D E} (η : G = H) :
                          def Equiv.psigmaCongrProp {α₁ : Sort u_1} {α₂ : Sort u_2} {β₁ : α₁Prop} {β₂ : α₂Prop} (f : α₁ α₂) (F : ∀ (a : α₁), β₁ a β₂ (f a)) :
                          PSigma β₁ PSigma β₂
                          Equations
                          Instances For
                            @[simp]
                            theorem Equiv.sigmaCongr_apply_fst {α₁ : Type u_1} {α₂ : Type u_2} {β₁ : α₁Type u_3} {β₂ : α₂Type u_4} (f : α₁ α₂) (F : (a : α₁) → β₁ a β₂ (f a)) (x : Sigma β₁) :
                            ((f.sigmaCongr F) x).fst = f x.fst
                            @[simp]
                            def Equiv.sigmaCongr_apply_snd {α₁ : Type u_1} {α₂ : Type u_2} {β₁ : α₁Type u_3} {β₂ : α₂Type u_4} (f : α₁ α₂) (F : (a : α₁) → β₁ a β₂ (f a)) (x : Sigma β₁) :
                            ((f.sigmaCongr F) x).snd = (F x.fst) x.snd
                            Equations
                            • =
                            Instances For
                              noncomputable def CategoryTheory.Limits.pullbackHomEquiv {𝒞 : Type u} [Category.{v, u} 𝒞] {A B C Γ : 𝒞} {f : A C} {g : B C} [HasPullback f g] :
                              (Γ pullback f g) (fst : Γ A) × (snd : Γ B) ×' CategoryStruct.comp fst f = CategoryStruct.comp snd g
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                @[simp]
                                theorem CategoryTheory.IsPullback.lift_fst_snd {C : Type u_1} [Category.{u_2, u_1} C] {P X Y Z : C} {fst : P X} {snd : P Y} {f : X Z} {g : Y Z} (pb : IsPullback fst snd f g) (w : CategoryStruct.comp fst f = CategoryStruct.comp snd g) :
                                pb.lift fst snd w = CategoryStruct.id P

                                A presheaf F on a small category C is isomorphic to the hom-presheaf Hom(y(•),F).

                                Equations
                                Instances For
                                  def CategoryTheory.yonedaIsoMap {C : Type u₁} [SmallCategory C] {F G : Functor Cᵒᵖ (Type u₁)} (app : {X : C} → (yoneda.obj X F) → (yoneda.obj X G)) (naturality : ∀ {X Y : C} (f : X Y) (α : yoneda.obj Y F), app (CategoryStruct.comp (yoneda.map f) α) = CategoryStruct.comp (yoneda.map f) (app α)) :
                                  Equations
                                  Instances For
                                    def CategoryTheory.NatTrans.yonedaMk {C : Type u₁} [SmallCategory C] {F G : Functor Cᵒᵖ (Type u₁)} (app : {X : C} → (yoneda.obj X F) → (yoneda.obj X G)) (naturality : ∀ {X Y : C} (f : X Y) (α : yoneda.obj Y F), app (CategoryStruct.comp (yoneda.map f) α) = CategoryStruct.comp (yoneda.map f) (app α)) :
                                    F G

                                    Build natural transformations between presheaves on a small category by defining their action when precomposing by a morphism with representable domain

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      theorem CategoryTheory.NatTrans.yonedaMk_app {C : Type u₁} [SmallCategory C] {F G : Functor Cᵒᵖ (Type u₁)} (app : {X : C} → (yoneda.obj X F) → (yoneda.obj X G)) (naturality : ∀ {X Y : C} (f : X Y) (α : yoneda.obj Y F), app (CategoryStruct.comp (yoneda.map f) α) = CategoryStruct.comp (yoneda.map f) (app α)) {X : C} (α : yoneda.obj X F) :
                                      CategoryStruct.comp α (yonedaMk (fun {X : C} => app) ) = app α