Subfunctor of types #
We define subfunctors of a type-valued functors.
Main definition #
CategoryTheory.Subfunctor : A subfunctor of a type-valued functor.
structure CategoryTheory.Subfunctor {C : Type u} [Category.{v, u} C] (F : Functor C (Type w)) :
Type (max u w)
A subfunctor of a functor consists of a subset of F.obj U for every U,
compatible with the restriction maps F.map i.
If
Gis a subfunctor ofF, then the sections ofGonUforms a subset of sections ofFonU.If
Gis a subfunctor ofFandi : U ⟶ V, then for eachG-sections onUx,F i xis inF(V).
Instances For
theorem CategoryTheory.Subfunctor.ext {C : Type u} {inst✝ : Category.{v, u} C} {F : Functor C (Type w)} {x y : Subfunctor F} (obj : x.obj = y.obj) :
theorem CategoryTheory.Subfunctor.ext_iff {C : Type u} {inst✝ : Category.{v, u} C} {F : Functor C (Type w)} {x y : Subfunctor F} :
@[instance_reducible]
instance CategoryTheory.instPartialOrderSubfunctor {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} :
@[instance_reducible]
instance CategoryTheory.instCompleteLatticeSubfunctor {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} :
Equations
- One or more equations did not get rendered due to their size.
theorem CategoryTheory.Subfunctor.le_def {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} (S T : Subfunctor F) :
@[simp]
theorem CategoryTheory.Subfunctor.top_obj {C : Type u} [Category.{v, u} C] (F : Functor C (Type w)) (i : C) :
@[simp]
theorem CategoryTheory.Subfunctor.bot_obj {C : Type u} [Category.{v, u} C] (F : Functor C (Type w)) (i : C) :
theorem CategoryTheory.Subfunctor.sSup_obj {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} (S : Set (Subfunctor F)) (U : C) :
theorem CategoryTheory.Subfunctor.sInf_obj {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} (S : Set (Subfunctor F)) (U : C) :
@[simp]
theorem CategoryTheory.Subfunctor.iSup_obj {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} {ι : Sort u_1} (S : ι → Subfunctor F) (U : C) :
@[simp]
theorem CategoryTheory.Subfunctor.iInf_obj {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} {ι : Sort u_1} (S : ι → Subfunctor F) (U : C) :
@[simp]
theorem CategoryTheory.Subfunctor.max_obj {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} (S T : Subfunctor F) (i : C) :
@[simp]
theorem CategoryTheory.Subfunctor.min_obj {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} (S T : Subfunctor F) (i : C) :
theorem CategoryTheory.Subfunctor.max_min {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} (S₁ S₂ T : Subfunctor F) :
theorem CategoryTheory.Subfunctor.iSup_min {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} {ι : Sort u_1} (S : ι → Subfunctor F) (T : Subfunctor F) :
instance CategoryTheory.Subfunctor.instNonempty {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} :
Nonempty (Subfunctor F)
@[implicit_reducible]
def CategoryTheory.Subfunctor.toFunctor {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} (G : Subfunctor F) :
The subfunctor as a functor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem CategoryTheory.Subfunctor.toFunctor_map {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} (G : Subfunctor F) {X✝ Y✝ : C} (i : X✝ ⟶ Y✝) :
@[simp]
theorem CategoryTheory.Subfunctor.toFunctor_obj {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} (G : Subfunctor F) (U : C) :
@[instance_reducible]
instance CategoryTheory.Subfunctor.instCoeHeadObjToFunctor {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} (G : Subfunctor F) {U : C} :
Equations
- G.instCoeHeadObjToFunctor = { coe := Subtype.val }
def CategoryTheory.Subfunctor.ι {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} (G : Subfunctor F) :
The inclusion of a subfunctor to the original functor.
Equations
Instances For
@[simp]
theorem CategoryTheory.Subfunctor.ι_app {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} (G : Subfunctor F) (x✝ : C) :
instance CategoryTheory.Subfunctor.instMonoFunctorTypeι {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} (G : Subfunctor F) :
def CategoryTheory.Subfunctor.homOfLe {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} {G G' : Subfunctor F} (h : G ≤ G') :
The inclusion of a subfunctor to a larger subfunctor
Equations
- CategoryTheory.Subfunctor.homOfLe h = { app := fun (U : C) => TypeCat.ofHom fun (x : G.toFunctor.obj U) => ⟨↑x, ⋯⟩, naturality := ⋯ }
Instances For
@[simp]
theorem CategoryTheory.Subfunctor.homOfLe_app {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} {G G' : Subfunctor F} (h : G ≤ G') (U : C) :
instance CategoryTheory.Subfunctor.instMonoFunctorTypeHomOfLe {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} {G G' : Subfunctor F} (h : G ≤ G') :
@[simp]
theorem CategoryTheory.Subfunctor.homOfLe_ι {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} {G G' : Subfunctor F} (h : G ≤ G') :
@[simp]
theorem CategoryTheory.Subfunctor.homOfLe_ι_assoc {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} {G G' : Subfunctor F} (h : G ≤ G') {Z : Functor C (Type w)} (h✝ : F ⟶ Z) :
instance CategoryTheory.Subfunctor.instIsIsoFunctorTypeιTop {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} :
theorem CategoryTheory.Subfunctor.eq_top_iff_isIso {C : Type u} [Category.{v, u} C] {F : Functor C (Type w)} (G : Subfunctor F) :
theorem CategoryTheory.Subfunctor.nat_trans_naturality {C : Type u} [Category.{v, u} C] {F F' : Functor C (Type w)} (G : Subfunctor F) (f : F' ⟶ G.toFunctor) {U V : C} (i : U ⟶ V) (x : F'.obj U) :
↑((ConcreteCategory.hom (f.app V)) ((ConcreteCategory.hom (F'.map i)) x)) = (ConcreteCategory.hom (F.map i)) ↑((ConcreteCategory.hom (f.app U)) x)