File: Mathlib/CategoryTheory/Sites/LeftExact.lean

full_name: CategoryTheory.GrothendieckTopology.coneCompEvaluationOfConeCompDiagramFunctorCompEvaluation_pt
code: /-- An auxiliary definition to be used in the proof of the fact that
`J.diagramFunctor D X` preserves limits. -/
@[simps]
def coneCompEvaluationOfConeCompDiagramFunctorCompEvaluation {X : C} {K : Type max v u}
    [SmallCategory K] {F : K ⥤ Cᵒᵖ ⥤ D} {W : J.Cover X} (i : W.Arrow)
    (E : Cone (F ⋙ J.diagramFunctor D X ⋙ (evaluation (J.Cover X)ᵒᵖ D).obj (op W))) :
    Cone (F ⋙ (evaluation _ _).obj (op i.Y)) 
goal: (CategoryTheory.GrothendieckTopology.coneCompEvaluationOfConeCompDiagramFunctorCompEvaluation i E).pt = E.pt

full_name: CategoryTheory.GrothendieckTopology.coneCompEvaluationOfConeCompDiagramFunctorCompEvaluation
code: /-- An auxiliary definition to be used in the proof of the fact that
`J.diagramFunctor D X` preserves limits. -/
@[simps]
def coneCompEvaluationOfConeCompDiagramFunctorCompEvaluation {X : C} {K : Type max v u}
    [SmallCategory K] {F : K ⥤ Cᵒᵖ ⥤ D} {W : J.Cover X} (i : W.Arrow)
    (E : Cone (F ⋙ J.diagramFunctor D X ⋙ (evaluation (J.Cover X)ᵒᵖ D).obj (op W))) :
    Cone (F ⋙ (evaluation _ _).obj (op i.Y)) 
goal: CategoryTheory.Limits.Cone (F ⋙ (CategoryTheory.evaluation Cᵒᵖ D).obj (Opposite.op i.Y))

full_name: CategoryTheory.GrothendieckTopology.coneCompEvaluationOfConeCompDiagramFunctorCompEvaluation_π_app
code: /-- An auxiliary definition to be used in the proof of the fact that
`J.diagramFunctor D X` preserves limits. -/
@[simps]
def coneCompEvaluationOfConeCompDiagramFunctorCompEvaluation {X : C} {K : Type max v u}
    [SmallCategory K] {F : K ⥤ Cᵒᵖ ⥤ D} {W : J.Cover X} (i : W.Arrow)
    (E : Cone (F ⋙ J.diagramFunctor D X ⋙ (evaluation (J.Cover X)ᵒᵖ D).obj (op W))) :
    Cone (F ⋙ (evaluation _ _).obj (op i.Y)) 
goal: (CategoryTheory.GrothendieckTopology.coneCompEvaluationOfConeCompDiagramFunctorCompEvaluation i E).π.app k =
  E.π.app k ≫ CategoryTheory.Limits.Multiequalizer.ι (W.index (F.obj k)) i

full_name: CategoryTheory.GrothendieckTopology.liftToDiagramLimitObj
code: /-- An auxiliary definition to be used in the proof of the fact that
`J.diagramFunctor D X` preserves limits. -/
abbrev liftToDiagramLimitObj {X : C} {K : Type max v u} [SmallCategory K] [HasLimitsOfShape K D]
    {W : (J.Cover X)ᵒᵖ} (F : K ⥤ Cᵒᵖ ⥤ D)
    (E : Cone (F ⋙ J.diagramFunctor D X ⋙ (evaluation (J.Cover X)ᵒᵖ D).obj W)) :
    E.pt ⟶ (J.diagram (limit F) X).obj W 
goal: E.pt ⟶ (J.diagram (CategoryTheory.Limits.limit F) X).obj W

full_name: CategoryTheory.GrothendieckTopology.preservesLimit_diagramFunctor
code: instance preservesLimit_diagramFunctor
    (X : C) (K : Type max v u) [SmallCategory K] [HasLimitsOfShape K D] (F : K ⥤ Cᵒᵖ ⥤ D) :
    PreservesLimit F (J.diagramFunctor D X) 
goal: CategoryTheory.Limits.PreservesLimit F (J.diagramFunctor D X)

full_name: CategoryTheory.GrothendieckTopology.preservesLimitsOfShape_diagramFunctor
code: instance preservesLimitsOfShape_diagramFunctor
    (X : C) (K : Type max v u) [SmallCategory K] [HasLimitsOfShape K D] :
    PreservesLimitsOfShape K (J.diagramFunctor D X) 
goal: CategoryTheory.Limits.PreservesLimitsOfShape K (J.diagramFunctor D X)

full_name: CategoryTheory.GrothendieckTopology.preservesLimits_diagramFunctor
code: instance preservesLimits_diagramFunctor (X : C) [HasLimits D] :
    PreservesLimits (J.diagramFunctor D X) 
goal: CategoryTheory.Limits.PreservesLimits (J.diagramFunctor D X)

full_name: CategoryTheory.GrothendieckTopology.liftToPlusObjLimitObj
code: /-- An auxiliary definition to be used in the proof that `J.plusFunctor D` commutes
with finite limits. -/
def liftToPlusObjLimitObj {K : Type max v u} [SmallCategory K] [FinCategory K]
    [HasLimitsOfShape K D] [PreservesLimitsOfShape K (forget D)]
    [ReflectsLimitsOfShape K (forget D)] (F : K ⥤ Cᵒᵖ ⥤ D) (X : C)
    (S : Cone (F ⋙ J.plusFunctor D ⋙ (evaluation Cᵒᵖ D).obj (op X))) :
    S.pt ⟶ (J.plusObj (limit F)).obj (op X) 
goal: S.pt ⟶ (J.plusObj (CategoryTheory.Limits.limit F)).obj (Opposite.op X)

full_name: CategoryTheory.GrothendieckTopology.liftToPlusObjLimitObj_fac
code: theorem liftToPlusObjLimitObj_fac {K : Type max v u} [SmallCategory K] [FinCategory K]
    [HasLimitsOfShape K D] [PreservesLimitsOfShape K (forget D)]
    [ReflectsLimitsOfShape K (forget D)] (F : K ⥤ Cᵒᵖ ⥤ D) (X : C)
    (S : Cone (F ⋙ J.plusFunctor D ⋙ (evaluation Cᵒᵖ D).obj (op X))) (k) :
    liftToPlusObjLimitObj.{w, v, u} F X S ≫ (J.plusMap (limit.π F k)).app (op X) = S.π.app k 
goal: CategoryTheory.GrothendieckTopology.liftToPlusObjLimitObj F X S ≫
    (J.plusMap (CategoryTheory.Limits.limit.π F k)).app (Opposite.op X) =
  S.π.app k

full_name: CategoryTheory.GrothendieckTopology.preservesLimitsOfShape_plusFunctor
code: instance preservesLimitsOfShape_plusFunctor
    (K : Type max v u) [SmallCategory K] [FinCategory K] [HasLimitsOfShape K D]
    [PreservesLimitsOfShape K (forget D)] [ReflectsLimitsOfShape K (forget D)] :
    PreservesLimitsOfShape K (J.plusFunctor D) 
goal: CategoryTheory.Limits.PreservesLimitsOfShape K (J.plusFunctor D)

full_name: CategoryTheory.GrothendieckTopology.preserveFiniteLimits_plusFunctor
code: instance preserveFiniteLimits_plusFunctor
    [HasFiniteLimits D] [PreservesFiniteLimits (forget D)] [(forget D).ReflectsIsomorphisms] :
    PreservesFiniteLimits (J.plusFunctor D) 
goal: CategoryTheory.Limits.PreservesFiniteLimits (J.plusFunctor D)

full_name: CategoryTheory.GrothendieckTopology.preservesLimitsOfShape_sheafification
code: instance preservesLimitsOfShape_sheafification
    (K : Type max v u) [SmallCategory K] [FinCategory K] [HasLimitsOfShape K D]
    [PreservesLimitsOfShape K (forget D)] [ReflectsLimitsOfShape K (forget D)] :
    PreservesLimitsOfShape K (J.sheafification D) 
goal: CategoryTheory.Limits.PreservesLimitsOfShape K (J.sheafification D)

full_name: CategoryTheory.GrothendieckTopology.preservesFiniteLimits_sheafification
code: instance preservesFiniteLimits_sheafification
    [HasFiniteLimits D] [PreservesFiniteLimits (forget D)] [(forget D).ReflectsIsomorphisms] :
    PreservesFiniteLimits (J.sheafification D) 
goal: CategoryTheory.Limits.PreservesFiniteLimits (J.sheafification D)

full_name: CategoryTheory.preservesLimitsOfShape_presheafToSheaf
code: instance preservesLimitsOfShape_presheafToSheaf :
    PreservesLimitsOfShape K (plusPlusSheaf J D) 
goal: CategoryTheory.Limits.PreservesLimitsOfShape K (CategoryTheory.plusPlusSheaf J D)

full_name: CategoryTheory.preservesfiniteLimits_presheafToSheaf
code: instance preservesfiniteLimits_presheafToSheaf [HasFiniteLimits D] :
    PreservesFiniteLimits (plusPlusSheaf J D) 
goal: CategoryTheory.Limits.PreservesFiniteLimits (CategoryTheory.plusPlusSheaf J D)

full_name: CategoryTheory.plusPlusSheafIsoPresheafToSheaf
code: /-- `plusPlusSheaf` is isomorphic to an arbitrary choice of left adjoint. -/
def plusPlusSheafIsoPresheafToSheaf : plusPlusSheaf J D ≅ presheafToSheaf J D 
goal: CategoryTheory.plusPlusSheaf J D ≅ CategoryTheory.presheafToSheaf J D

full_name: CategoryTheory.plusPlusFunctorIsoSheafification
code: /-- `plusPlusFunctor` is isomorphic to `sheafification`. -/
def plusPlusFunctorIsoSheafification : J.sheafification D ≅ sheafification J D 
goal: J.sheafification D ≅ CategoryTheory.sheafification J D

full_name: CategoryTheory.plusPlusIsoSheafify
code: /-- `plusPlus` is isomorphic to `sheafify`. -/
def plusPlusIsoSheafify (P : Cᵒᵖ ⥤ D) : J.sheafify P ≅ sheafify J P 
goal: J.sheafify P ≅ CategoryTheory.sheafify J P

full_name: CategoryTheory.toSheafify_plusPlusIsoSheafify_hom
code: @[reassoc (attr := simp)]
lemma toSheafify_plusPlusIsoSheafify_hom (P : Cᵒᵖ ⥤ D) :
    J.toSheafify P ≫ (plusPlusIsoSheafify J D P).hom = toSheafify J P 
goal: J.toSheafify P ≫ (CategoryTheory.plusPlusIsoSheafify J D P).hom = CategoryTheory.toSheafify J P

full_name: CategoryTheory.instHasSheafifyOfHasFiniteLimits
code: instance [HasFiniteLimits D] : HasSheafify J D 
goal: CategoryTheory.HasSheafify J D

full_name: CategoryTheory.instFinitaryExtensiveSheafOfHasPullbacksOfHasSheafify
code: instance [FinitaryExtensive D] [HasPullbacks D] [HasSheafify J D] :
    FinitaryExtensive (Sheaf J D) 
goal: CategoryTheory.FinitaryExtensive (CategoryTheory.Sheaf J D)

full_name: CategoryTheory.instAdhesiveSheafOfHasPullbacksOfHasPushoutsOfHasSheafify
code: instance [Adhesive D] [HasPullbacks D] [HasPushouts D] [HasSheafify J D] :
    Adhesive (Sheaf J D) 
goal: CategoryTheory.Adhesive (CategoryTheory.Sheaf J D)

full_name: CategoryTheory.SheafOfTypes.finitary_extensive
code: instance SheafOfTypes.finitary_extensive [HasSheafify J (Type w)] :
    FinitaryExtensive (Sheaf J (Type w)) 
goal: CategoryTheory.FinitaryExtensive (CategoryTheory.Sheaf J (Type w))

full_name: CategoryTheory.SheafOfTypes.adhesive
code: instance SheafOfTypes.adhesive [HasSheafify J (Type w)] :
    Adhesive (Sheaf J (Type w)) 
goal: CategoryTheory.Adhesive (CategoryTheory.Sheaf J (Type w))

full_name: CategoryTheory.SheafOfTypes.balanced
code: instance SheafOfTypes.balanced [HasSheafify J (Type w)] :
    Balanced (Sheaf J (Type w)) 
goal: CategoryTheory.Balanced (CategoryTheory.Sheaf J (Type w))