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)
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)
@[deprecated CategoryTheory.Subfunctor.toFunctor_map (since := "2026-02-10")]
theorem
CategoryTheory.Subfunctor.toFunctor_map_coe
{C : Type u}
[Category.{v, u} C]
{F : Functor C (Type w)}
(G : Subfunctor F)
{X✝ Y✝ : C}
(i : X✝ ⟶ Y✝)
:
Alias of CategoryTheory.Subfunctor.toFunctor_map.