Loogle!
Result
Found 179 declarations mentioning CategoryTheory.Functor.Final.
- CategoryTheory.Functor.Final 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) : Prop - CategoryTheory.Functor.final_fromPUnit_of_isTerminal 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {c : C} (hc : CategoryTheory.Limits.IsTerminal c) : (CategoryTheory.Functor.fromPUnit c).Final - CategoryTheory.Functor.Final.lift 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] (d : D) : C - CategoryTheory.Functor.final_of_isRightAdjoint 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.IsRightAdjoint] : F.Final - CategoryTheory.IsFiltered.of_final 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] [CategoryTheory.IsFiltered C] : CategoryTheory.IsFiltered D - CategoryTheory.IsFilteredOrEmpty.of_final 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] [CategoryTheory.IsFilteredOrEmpty C] : CategoryTheory.IsFilteredOrEmpty D - CategoryTheory.Functor.Final.instNonemptyStructuredArrow 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] (d : D) : Nonempty (CategoryTheory.StructuredArrow d F) - CategoryTheory.Functor.final_of_adjunction 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {L : CategoryTheory.Functor C D} {R : CategoryTheory.Functor D C} (adj : L ⊣ R) : R.Final - CategoryTheory.Functor.Final.hasColimitsOfShape_of_final 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] [CategoryTheory.Limits.HasColimitsOfShape C E] : CategoryTheory.Limits.HasColimitsOfShape D E - CategoryTheory.Functor.instFinalOfHasTerminalOfPreservesLimitDiscretePEmptyEmpty 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasTerminal C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Functor.empty C) F] : F.Final - CategoryTheory.Functor.Final.mk 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} (out : ∀ (d : D), CategoryTheory.IsConnected (CategoryTheory.StructuredArrow d F)) : F.Final - CategoryTheory.Functor.Final.out 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} {inst✝ : CategoryTheory.Category.{v₁, u₁} C} {D : Type u₂} {inst✝¹ : CategoryTheory.Category.{v₂, u₂} D} {F : CategoryTheory.Functor C D} [self : F.Final] (d : D) : CategoryTheory.IsConnected (CategoryTheory.StructuredArrow d F) - CategoryTheory.Functor.final_of_initial_op 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.op.Initial] : F.Final - CategoryTheory.Functor.final_op_of_initial 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Initial] : F.op.Final - CategoryTheory.Functor.initial_of_final_op 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.op.Final] : F.Initial - CategoryTheory.Functor.initial_op_of_final 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] : F.op.Initial - CategoryTheory.Functor.instFinalOppositeLeftOpOfInitial 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor C Dᵒᵖ) [F.Initial] : F.leftOp.Final - CategoryTheory.Functor.instFinalOppositeRightOpOfInitial 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor Cᵒᵖ D) [F.Initial] : F.rightOp.Final - CategoryTheory.Functor.instInitialOppositeLeftOpOfFinal 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor C Dᵒᵖ) [F.Final] : F.leftOp.Initial - CategoryTheory.Functor.instInitialOppositeRightOpOfFinal 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor Cᵒᵖ D) [F.Final] : F.rightOp.Initial - CategoryTheory.Functor.Final.homToLift 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] (d : D) : d ⟶ F.obj (CategoryTheory.Functor.Final.lift F d) - CategoryTheory.Functor.final_of_natIso 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F F' : CategoryTheory.Functor C D} [F.Final] (i : F ≅ F') : F'.Final - CategoryTheory.Functor.final_natIso_iff 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F F' : CategoryTheory.Functor C D} (i : F ≅ F') : F.Final ↔ F'.Final - CategoryTheory.Functor.Final.createsColimitsOfShapeOfFinal 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] (H : CategoryTheory.Functor E B) [CategoryTheory.CreatesColimitsOfShape C H] : CategoryTheory.CreatesColimitsOfShape D H - CategoryTheory.Functor.Final.preservesColimitsOfShape_of_final 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] (H : CategoryTheory.Functor E B) [CategoryTheory.Limits.PreservesColimitsOfShape C H] : CategoryTheory.Limits.PreservesColimitsOfShape D H - CategoryTheory.Functor.Final.reflectsColimitsOfShape_of_final 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] (H : CategoryTheory.Functor E B) [CategoryTheory.Limits.ReflectsColimitsOfShape C H] : CategoryTheory.Limits.ReflectsColimitsOfShape D H - CategoryTheory.Functor.final_comp 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) [hF : F.Final] [hG : G.Final] : (F.comp G).Final - CategoryTheory.Functor.final_comp_equivalence 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) [F.Final] [G.IsEquivalence] : (F.comp G).Final - CategoryTheory.Functor.final_equivalence_comp 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) [F.IsEquivalence] [G.Final] : (F.comp G).Final - CategoryTheory.Functor.final_of_equivalence_comp 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) [F.IsEquivalence] [(F.comp G).Final] : G.Final - CategoryTheory.Functor.final_of_final_comp 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) [hF : F.Final] [hFG : (F.comp G).Final] : G.Final - CategoryTheory.Functor.Final.colimitCoconeComp 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} (t : CategoryTheory.Limits.ColimitCocone G) : CategoryTheory.Limits.ColimitCocone (F.comp G) - CategoryTheory.Functor.Final.colimitCoconeOfComp 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} (t : CategoryTheory.Limits.ColimitCocone (F.comp G)) : CategoryTheory.Limits.ColimitCocone G - CategoryTheory.Functor.Final.comp_hasColimit 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} [CategoryTheory.Limits.HasColimit G] : CategoryTheory.Limits.HasColimit (F.comp G) - CategoryTheory.Functor.Final.hasColimit_of_comp 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} [CategoryTheory.Limits.HasColimit (F.comp G)] : CategoryTheory.Limits.HasColimit G - CategoryTheory.Functor.final_iff_comp_equivalence 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) [G.IsEquivalence] : F.Final ↔ (F.comp G).Final - CategoryTheory.Functor.final_iff_equivalence_comp 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) [F.IsEquivalence] : G.Final ↔ (F.comp G).Final - CategoryTheory.Functor.final_iff_final_comp 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) [F.Final] : G.Final ↔ (F.comp G).Final - CategoryTheory.Functor.Final.hasColimit_comp_iff 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} : CategoryTheory.Limits.HasColimit (F.comp G) ↔ CategoryTheory.Limits.HasColimit G - CategoryTheory.Functor.final_of_comp_full_faithful 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) [G.Full] [G.Faithful] [(F.comp G).Final] : F.Final - CategoryTheory.Functor.final_of_comp_full_faithful' 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) [G.Full] [G.Faithful] [(F.comp G).Final] : G.Final - CategoryTheory.Functor.final_iff_comp_final_full_faithful 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) [G.Final] [G.Full] [G.Faithful] : F.Final ↔ (F.comp G).Final - CategoryTheory.Functor.Final.compCreatesColimit 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {H : CategoryTheory.Functor E B} [CategoryTheory.CreatesColimit G H] : CategoryTheory.CreatesColimit (F.comp G) H - CategoryTheory.Functor.Final.comp_preservesColimit 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {H : CategoryTheory.Functor E B} [CategoryTheory.Limits.PreservesColimit G H] : CategoryTheory.Limits.PreservesColimit (F.comp G) H - CategoryTheory.Functor.Final.comp_reflectsColimit 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {H : CategoryTheory.Functor E B} [CategoryTheory.Limits.ReflectsColimit G H] : CategoryTheory.Limits.ReflectsColimit (F.comp G) H - CategoryTheory.Functor.Final.createsColimitOfComp 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {H : CategoryTheory.Functor E B} [CategoryTheory.CreatesColimit (F.comp G) H] : CategoryTheory.CreatesColimit G H - CategoryTheory.Functor.Final.preservesColimit_of_comp 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {H : CategoryTheory.Functor E B} [CategoryTheory.Limits.PreservesColimit (F.comp G) H] : CategoryTheory.Limits.PreservesColimit G H - CategoryTheory.Functor.Final.reflectsColimit_of_comp 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {H : CategoryTheory.Functor E B} [CategoryTheory.Limits.ReflectsColimit (F.comp G) H] : CategoryTheory.Limits.ReflectsColimit G H - CategoryTheory.Functor.Final.preservesColimit_comp_iff 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {H : CategoryTheory.Functor E B} : CategoryTheory.Limits.PreservesColimit (F.comp G) H ↔ CategoryTheory.Limits.PreservesColimit G H - CategoryTheory.instFinalProdProd 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C' : Type u₃} [CategoryTheory.Category.{v₃, u₃} C'] {D' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D'] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor C' D') [F.Final] [G.Final] : (F.prod G).Final - CategoryTheory.Grothendieck.final_pre 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor D CategoryTheory.Cat) (G : CategoryTheory.Functor C D) [hG : G.Final] : (CategoryTheory.Grothendieck.pre F G).Final - CategoryTheory.Functor.Final.isColimitWhiskerEquiv 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} (t : CategoryTheory.Limits.Cocone G) : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.Cocone.whisker F t) ≃ CategoryTheory.Limits.IsColimit t - CategoryTheory.Functor.Final.coconesEquiv 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (G : CategoryTheory.Functor D E) : CategoryTheory.Limits.Cocone (F.comp G) ≌ CategoryTheory.Limits.Cocone G - CategoryTheory.Functor.Final.colimitIso 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (G : CategoryTheory.Functor D E) [CategoryTheory.Limits.HasColimit G] : CategoryTheory.Limits.colimit (F.comp G) ≅ CategoryTheory.Limits.colimit G - CategoryTheory.Functor.Final.extendCocone 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} : CategoryTheory.Functor (CategoryTheory.Limits.Cocone (F.comp G)) (CategoryTheory.Limits.Cocone G) - CategoryTheory.StructuredArrow.final_pre 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (T : CategoryTheory.Functor C D) [T.Final] (S : CategoryTheory.Functor D E) (X : E) : (CategoryTheory.StructuredArrow.pre X T S).Final - CategoryTheory.Limits.IsColimit.underPost 📋 Mathlib.CategoryTheory.Limits.Final
{J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{v_1, u_1} J] [CategoryTheory.Category.{v_2, u_2} C] {D : CategoryTheory.Functor J C} {c : CategoryTheory.Limits.Cocone D} (hc : CategoryTheory.Limits.IsColimit c) (j : J) [(CategoryTheory.Under.forget j).Final] : CategoryTheory.Limits.IsColimit (c.underPost j) - CategoryTheory.Functor.Final.colimitCoconeComp_cocone 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} (t : CategoryTheory.Limits.ColimitCocone G) : (CategoryTheory.Functor.Final.colimitCoconeComp F t).cocone = CategoryTheory.Limits.Cocone.whisker F t.cocone - CategoryTheory.Functor.Final.colimit_pre_isIso 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} [CategoryTheory.Limits.HasColimit G] : CategoryTheory.IsIso (CategoryTheory.Limits.colimit.pre G F) - CategoryTheory.Functor.final_of_colimit_comp_coyoneda_iso_pUnit 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type v} [CategoryTheory.Category.{v, v} C] {D : Type u₁} [CategoryTheory.Category.{v, u₁} D] (F : CategoryTheory.Functor C D) (I : (d : D) → CategoryTheory.Limits.colimit (F.comp (CategoryTheory.coyoneda.obj (Opposite.op d))) ≅ PUnit.{v + 1}) : F.Final - CategoryTheory.Functor.final_iff_isIso_colimit_pre 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type v} [CategoryTheory.Category.{v, v} C] {D : Type v} [CategoryTheory.Category.{v, v} D] (F : CategoryTheory.Functor C D) : F.Final ↔ ∀ (G : CategoryTheory.Functor D (Type v)), CategoryTheory.IsIso (CategoryTheory.Limits.colimit.pre G F) - CategoryTheory.Functor.Final.isColimitExtendCoconeEquiv 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} (t : CategoryTheory.Limits.Cocone (F.comp G)) : CategoryTheory.Limits.IsColimit (CategoryTheory.Functor.Final.extendCocone.obj t) ≃ CategoryTheory.Limits.IsColimit t - CategoryTheory.Functor.Final.extendCocone_obj_pt 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} (c : CategoryTheory.Limits.Cocone (F.comp G)) : (CategoryTheory.Functor.Final.extendCocone.obj c).pt = c.pt - CategoryTheory.Grothendieck.final_map 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {F G : CategoryTheory.Functor C CategoryTheory.Cat} (α : F ⟶ G) [hα : ∀ (X : C), (α.app X).toFunctor.Final] : (CategoryTheory.Grothendieck.map α).Final - CategoryTheory.Functor.Final.coconesEquiv_inverse 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (G : CategoryTheory.Functor D E) : (CategoryTheory.Functor.Final.coconesEquiv F G).inverse = CategoryTheory.Limits.Cocone.whiskering F - CategoryTheory.Functor.Final.coconesEquiv_functor 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (G : CategoryTheory.Functor D E) : (CategoryTheory.Functor.Final.coconesEquiv F G).functor = CategoryTheory.Functor.Final.extendCocone - CategoryTheory.Functor.Final.colimitCoconeOfComp_cocone 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} (t : CategoryTheory.Limits.ColimitCocone (F.comp G)) : (CategoryTheory.Functor.Final.colimitCoconeOfComp F t).cocone = CategoryTheory.Functor.Final.extendCocone.obj t.cocone - CategoryTheory.Functor.Final.colimitIso_hom 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (G : CategoryTheory.Functor D E) [CategoryTheory.Limits.HasColimit G] : (CategoryTheory.Functor.Final.colimitIso F G).hom = CategoryTheory.Limits.colimit.pre G F - CategoryTheory.Functor.Final.colimIso 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] [CategoryTheory.Limits.HasColimitsOfShape D E] [CategoryTheory.Limits.HasColimitsOfShape C E] : ((CategoryTheory.Functor.whiskeringLeft C D E).obj F).comp CategoryTheory.Limits.colim ≅ CategoryTheory.Limits.colim - CategoryTheory.Functor.final_of_isTerminal_colimit_comp_yoneda 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type v} [CategoryTheory.Category.{v, v} C] {D : Type u₁} [CategoryTheory.Category.{v, u₁} D] (F : CategoryTheory.Functor C D) (h : CategoryTheory.Limits.IsTerminal (CategoryTheory.Limits.colimit (F.comp CategoryTheory.yoneda))) : F.Final - CategoryTheory.Functor.Final.colimitIso_inv 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (G : CategoryTheory.Functor D E) [CategoryTheory.Limits.HasColimit G] : (CategoryTheory.Functor.Final.colimitIso F G).inv = CategoryTheory.inv (CategoryTheory.Limits.colimit.pre G F) - CategoryTheory.Functor.Final.ι_colimitIso_hom 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (G : CategoryTheory.Functor D E) [CategoryTheory.Limits.HasColimit G] (X : C) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι (F.comp G) X) (CategoryTheory.Functor.Final.colimitIso F G).hom = CategoryTheory.Limits.colimit.ι G (F.obj X) - CategoryTheory.Functor.Final.ι_colimitIso_inv 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (G : CategoryTheory.Functor D E) [CategoryTheory.Limits.HasColimit G] (X : C) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι G (F.obj X)) (CategoryTheory.Functor.Final.colimitIso F G).inv = CategoryTheory.Limits.colimit.ι (F.comp G) X - CategoryTheory.Functor.Final.induction 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {d : D} (Z : (X : C) → (d ⟶ F.obj X) → Sort u_1) (h₁ : (X₁ X₂ : C) → (k₁ : d ⟶ F.obj X₁) → (k₂ : d ⟶ F.obj X₂) → (f : X₁ ⟶ X₂) → CategoryTheory.CategoryStruct.comp k₁ (F.map f) = k₂ → Z X₁ k₁ → Z X₂ k₂) (h₂ : (X₁ X₂ : C) → (k₁ : d ⟶ F.obj X₁) → (k₂ : d ⟶ F.obj X₂) → (f : X₁ ⟶ X₂) → CategoryTheory.CategoryStruct.comp k₁ (F.map f) = k₂ → Z X₂ k₂ → Z X₁ k₁) {X₀ : C} {k₀ : d ⟶ F.obj X₀} (z : Z X₀ k₀) : Z (CategoryTheory.Functor.Final.lift F d) (CategoryTheory.Functor.Final.homToLift F d) - CategoryTheory.Functor.Final.ι_colimitIso_hom_assoc 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (G : CategoryTheory.Functor D E) [CategoryTheory.Limits.HasColimit G] (X : C) {Z : E} (h : CategoryTheory.Limits.colimit G ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι (F.comp G) X) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.Final.colimitIso F G).hom h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι G (F.obj X)) h - CategoryTheory.Functor.Final.ι_colimitIso_inv_assoc 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (G : CategoryTheory.Functor D E) [CategoryTheory.Limits.HasColimit G] (X : C) {Z : E} (h : CategoryTheory.Limits.colimit (F.comp G) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι G (F.obj X)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.Final.colimitIso F G).inv h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι (F.comp G) X) h - CategoryTheory.Functor.Final.extendCocone_obj_ι_app 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} (c : CategoryTheory.Limits.Cocone (F.comp G)) (X : D) : (CategoryTheory.Functor.Final.extendCocone.obj c).ι.app X = CategoryTheory.CategoryStruct.comp (G.map (CategoryTheory.Functor.Final.homToLift F X)) (c.ι.app (CategoryTheory.Functor.Final.lift F X)) - CategoryTheory.Functor.Final.colimitCoconeComp_isColimit 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} (t : CategoryTheory.Limits.ColimitCocone G) : (CategoryTheory.Functor.Final.colimitCoconeComp F t).isColimit = (CategoryTheory.Functor.Final.isColimitWhiskerEquiv F t.cocone).symm t.isColimit - CategoryTheory.Functor.Final.colimit_cocone_comp_aux 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} (s : CategoryTheory.Limits.Cocone (F.comp G)) (j : C) : CategoryTheory.CategoryStruct.comp (G.map (CategoryTheory.Functor.Final.homToLift F (F.obj j))) (s.ι.app (CategoryTheory.Functor.Final.lift F (F.obj j))) = s.ι.app j - CategoryTheory.Functor.Final.extendCocone_obj_ι_app' 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} (c : CategoryTheory.Limits.Cocone (F.comp G)) {X : D} {Y : C} (f : X ⟶ F.obj Y) : (CategoryTheory.Functor.Final.extendCocone.obj c).ι.app X = CategoryTheory.CategoryStruct.comp (G.map f) (c.ι.app Y) - CategoryTheory.Grothendieck.fiberwiseColimitMapCompEquivalence 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {F G : CategoryTheory.Functor C CategoryTheory.Cat} (α : F ⟶ G) [∀ (X : C), (α.app X).toFunctor.Final] (H : CategoryTheory.Functor (CategoryTheory.Grothendieck G) (Type u₂)) : CategoryTheory.Limits.fiberwiseColimit ((CategoryTheory.Grothendieck.map α).comp H) ≅ CategoryTheory.Limits.fiberwiseColimit H - CategoryTheory.Functor.Final.coconesEquiv_counitIso 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (G : CategoryTheory.Functor D E) : (CategoryTheory.Functor.Final.coconesEquiv F G).counitIso = CategoryTheory.NatIso.ofComponents (fun c => CategoryTheory.Limits.Cocone.ext (CategoryTheory.Iso.refl (((CategoryTheory.Limits.Cocone.whiskering F).comp CategoryTheory.Functor.Final.extendCocone).obj c).pt) ⋯) ⋯ - CategoryTheory.Functor.Final.extendCocone_map_hom 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} {X✝ Y✝ : CategoryTheory.Limits.Cocone (F.comp G)} (f : X✝ ⟶ Y✝) : (CategoryTheory.Functor.Final.extendCocone.map f).hom = f.hom - CategoryTheory.Functor.Final.colimitCoconeOfComp_isColimit 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {G : CategoryTheory.Functor D E} (t : CategoryTheory.Limits.ColimitCocone (F.comp G)) : (CategoryTheory.Functor.Final.colimitCoconeOfComp F t).isColimit = (CategoryTheory.Functor.Final.isColimitExtendCoconeEquiv F t.cocone).symm t.isColimit - CategoryTheory.Functor.Final.coconesEquiv_unitIso 📋 Mathlib.CategoryTheory.Limits.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (G : CategoryTheory.Functor D E) : (CategoryTheory.Functor.Final.coconesEquiv F G).unitIso = CategoryTheory.NatIso.ofComponents (fun c => CategoryTheory.Limits.Cocone.ext (CategoryTheory.Iso.refl ((CategoryTheory.Functor.id (CategoryTheory.Limits.Cocone (F.comp G))).obj c).pt) ⋯) ⋯ - CategoryTheory.MorphismProperty.colimitsOfShape_le_of_final 📋 Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] (W : CategoryTheory.MorphismProperty C) {J : Type u_1} [CategoryTheory.Category.{v_1, u_1} J] {J' : Type u_2} [CategoryTheory.Category.{v_2, u_2} J'] (F : CategoryTheory.Functor J J') [F.Final] : W.colimitsOfShape J' ≤ W.colimitsOfShape J - CategoryTheory.Limits.ColimitPresentation.reindex 📋 Mathlib.CategoryTheory.Limits.Presentation
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type w} [CategoryTheory.Category.{t, w} J] {X : C} (P : CategoryTheory.Limits.ColimitPresentation J X) {J' : Type u_1} [CategoryTheory.Category.{v_1, u_1} J'] (F : CategoryTheory.Functor J' J) [F.Final] : CategoryTheory.Limits.ColimitPresentation J' X - CategoryTheory.Limits.ColimitPresentation.reindex_diag 📋 Mathlib.CategoryTheory.Limits.Presentation
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type w} [CategoryTheory.Category.{t, w} J] {X : C} (P : CategoryTheory.Limits.ColimitPresentation J X) {J' : Type u_1} [CategoryTheory.Category.{v_1, u_1} J'] (F : CategoryTheory.Functor J' J) [F.Final] : (P.reindex F).diag = F.comp P.diag - CategoryTheory.Limits.ColimitPresentation.reindex_ι 📋 Mathlib.CategoryTheory.Limits.Presentation
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type w} [CategoryTheory.Category.{t, w} J] {X : C} (P : CategoryTheory.Limits.ColimitPresentation J X) {J' : Type u_1} [CategoryTheory.Category.{v_1, u_1} J'] (F : CategoryTheory.Functor J' J) [F.Final] : (P.reindex F).ι = F.whiskerLeft P.ι - CategoryTheory.ObjectProperty.ColimitOfShape.reindex 📋 Mathlib.CategoryTheory.ObjectProperty.ColimitsOfShape
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {P : CategoryTheory.ObjectProperty C} {J : Type u'} [CategoryTheory.Category.{v', u'} J] {J' : Type u''} [CategoryTheory.Category.{v'', u''} J'] {X : C} (h : P.ColimitOfShape J X) (G : CategoryTheory.Functor J' J) [G.Final] : P.ColimitOfShape J' X - CategoryTheory.ObjectProperty.colimitsOfShape_le_of_final 📋 Mathlib.CategoryTheory.ObjectProperty.ColimitsOfShape
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] (P : CategoryTheory.ObjectProperty C) {J : Type u'} [CategoryTheory.Category.{v', u'} J] {J' : Type u''} [CategoryTheory.Category.{v'', u''} J'] (G : CategoryTheory.Functor J J') [G.Final] : P.colimitsOfShape J' ≤ P.colimitsOfShape J - CategoryTheory.ObjectProperty.ColimitOfShape.reindex_toColimitPresentation 📋 Mathlib.CategoryTheory.ObjectProperty.ColimitsOfShape
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {P : CategoryTheory.ObjectProperty C} {J : Type u'} [CategoryTheory.Category.{v', u'} J] {J' : Type u''} [CategoryTheory.Category.{v'', u''} J'] {X : C} (h : P.ColimitOfShape J X) (G : CategoryTheory.Functor J' J) [G.Final] : (h.reindex G).toColimitPresentation = h.reindex G - CategoryTheory.Presheaf.final_toCostructuredArrow_comp_pre 📋 Mathlib.CategoryTheory.Limits.Presheaf
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {I : Type v₁} [CategoryTheory.SmallCategory I] (F : CategoryTheory.Functor I C) {c : CategoryTheory.Limits.Cocone (F.comp CategoryTheory.yoneda)} (hc : CategoryTheory.Limits.IsColimit c) : (c.toCostructuredArrow.comp (CategoryTheory.CostructuredArrow.pre F CategoryTheory.yoneda c.pt)).Final - CategoryTheory.Limits.IsFiltered.sequentialFunctor_final 📋 Mathlib.CategoryTheory.Limits.Shapes.Countable
(J : Type u_2) [Countable J] [Preorder J] [CategoryTheory.IsFiltered J] : (CategoryTheory.Limits.IsFiltered.sequentialFunctor J).Final - CategoryTheory.hasExactColimitsOfShape_of_final 📋 Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Basic
(C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteLimits C] {J : Type u_1} {J' : Type u_2} [CategoryTheory.Category.{v_1, u_1} J] [CategoryTheory.Category.{v_2, u_2} J'] (F : CategoryTheory.Functor J J') [F.Final] [CategoryTheory.Limits.HasColimitsOfShape J' C] [CategoryTheory.Limits.HasColimitsOfShape J C] [CategoryTheory.HasExactColimitsOfShape J C] : CategoryTheory.HasExactColimitsOfShape J' C - CategoryTheory.Limits.WalkingParallelPair.inclusionWalkingReflexivePair_final 📋 Mathlib.CategoryTheory.Limits.Shapes.Reflexive
: CategoryTheory.Limits.WalkingParallelPair.inclusionWalkingReflexivePair.Final - CategoryTheory.instFinalDiscreteOfIsConnected 📋 Mathlib.CategoryTheory.Limits.Final.Connected
{C : Type u} [CategoryTheory.Category.{v, u} C] {T : Type w} [Unique T] (F : CategoryTheory.Functor C (CategoryTheory.Discrete T)) [CategoryTheory.IsConnected C] : F.Final - CategoryTheory.final_fst 📋 Mathlib.CategoryTheory.Limits.Final.Connected
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] [CategoryTheory.IsConnected D] : (CategoryTheory.Prod.fst C D).Final - CategoryTheory.final_snd 📋 Mathlib.CategoryTheory.Limits.Final.Connected
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] [CategoryTheory.IsConnected C] : (CategoryTheory.Prod.snd C D).Final - CategoryTheory.isConnected_iff_final_of_unique 📋 Mathlib.CategoryTheory.Limits.Final.Connected
{C : Type u} [CategoryTheory.Category.{v, u} C] {T : Type w} [Unique T] (F : CategoryTheory.Functor C (CategoryTheory.Discrete T)) : CategoryTheory.IsConnected C ↔ F.Final - CategoryTheory.Functor.isConnected_iff_of_final 📋 Mathlib.CategoryTheory.Limits.IsConnected
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [F.Final] : CategoryTheory.IsConnected C ↔ CategoryTheory.IsConnected D - CategoryTheory.IsSifted.toFinal 📋 Mathlib.CategoryTheory.Limits.Sifted
{C : Type u} {inst✝ : CategoryTheory.Category.{v, u} C} [self : CategoryTheory.IsSifted C] : (CategoryTheory.Functor.diag C).Final - CategoryTheory.IsSifted.mk 📋 Mathlib.CategoryTheory.Limits.Sifted
{C : Type u} [CategoryTheory.Category.{v, u} C] [toFinal : (CategoryTheory.Functor.diag C).Final] [nonempty : Nonempty C] : CategoryTheory.IsSifted C - CategoryTheory.IsSifted.of_final_functor_from_sifted 📋 Mathlib.CategoryTheory.Limits.Sifted
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₁} [CategoryTheory.Category.{v₁, u₁} D] [h₁ : CategoryTheory.IsSifted C] (F : CategoryTheory.Functor C D) [F.Final] : CategoryTheory.IsSifted D - CategoryTheory.IsSifted.of_final_functor_from_sifted' 📋 Mathlib.CategoryTheory.Limits.Sifted
{C : Type u} [CategoryTheory.SmallCategory C] {D : Type u} [CategoryTheory.SmallCategory D] [CategoryTheory.IsSifted C] (F : CategoryTheory.Functor C D) [F.Final] : CategoryTheory.IsSifted D - CategoryTheory.instFinalProdProd' 📋 Mathlib.CategoryTheory.Limits.Sifted
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.IsSiftedOrEmpty C] {D : Type u₁} [CategoryTheory.Category.{v₁, u₁} D] {D' : Type u₂} [CategoryTheory.Category.{v₂, u₂} D'] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor C D') [F.Final] [G.Final] : (F.prod' G).Final - CategoryTheory.Functor.final_diag_of_isFiltered 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.IsFilteredOrEmpty C] : (CategoryTheory.Functor.diag C).Final - CategoryTheory.Functor.final_of_isFiltered_of_pUnit 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.IsFiltered C] (F : CategoryTheory.Functor C (CategoryTheory.Discrete PUnit.{u_1 + 1})) : F.Final - CategoryTheory.Under.final_forget 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.IsFilteredOrEmpty C] (c : C) : (CategoryTheory.Under.forget c).Final - CategoryTheory.IsFiltered.final_fst 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.IsFiltered D] : (CategoryTheory.Prod.fst C D).Final - CategoryTheory.IsFiltered.final_snd 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.IsFiltered C] : (CategoryTheory.Prod.snd C D).Final - CategoryTheory.final_eval 📋 Mathlib.CategoryTheory.Filtered.Final
{α : Type u₁} {I : α → Type u₂} [(s : α) → CategoryTheory.Category.{v₂, u₂} (I s)] [∀ (s : α), CategoryTheory.IsFiltered (I s)] (s : α) : (CategoryTheory.Pi.eval I s).Final - CategoryTheory.Functor.final_of_isFiltered_structuredArrow 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [∀ (d : D), CategoryTheory.IsFiltered (CategoryTheory.StructuredArrow d F)] : F.Final - CategoryTheory.Functor.final_iff_isFiltered_structuredArrow 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [CategoryTheory.IsFilteredOrEmpty C] : F.Final ↔ ∀ (d : D), CategoryTheory.IsFiltered (CategoryTheory.StructuredArrow d F) - CategoryTheory.Functor.final_const_of_isTerminal 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.IsFiltered C] {X : D} (hX : CategoryTheory.Limits.IsTerminal X) : ((CategoryTheory.Functor.const C).obj X).Final - CategoryTheory.Functor.final_const_terminal 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.IsFiltered C] [CategoryTheory.Limits.HasTerminal D] : ((CategoryTheory.Functor.const C).obj (⊤_ D)).Final - CategoryTheory.StructuredArrow.final_proj_of_isFiltered 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.IsFilteredOrEmpty C] (T : CategoryTheory.Functor C D) [T.Final] (Y : D) : (CategoryTheory.StructuredArrow.proj Y T).Final - Monotone.final_functor_iff 📋 Mathlib.CategoryTheory.Filtered.Final
{J₁ : Type u_1} {J₂ : Type u_2} [Preorder J₁] [Preorder J₂] [IsDirectedOrder J₁] {f : J₁ → J₂} (hf : Monotone f) : hf.functor.Final ↔ ∀ (j₂ : J₂), ∃ j₁, j₂ ≤ f j₁ - CategoryTheory.Functor.final_of_exists_of_isFiltered_of_fullyFaithful 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [CategoryTheory.IsFilteredOrEmpty D] [F.Full] [F.Faithful] (h : ∀ (d : D), ∃ c, Nonempty (d ⟶ F.obj c)) : F.Final - CategoryTheory.StructuredArrow.final_map 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.IsFiltered C] {S S' : D} (f : S ⟶ S') (T : CategoryTheory.Functor C D) [T.Final] : (CategoryTheory.StructuredArrow.map f).Final - CategoryTheory.StructuredArrow.final_post 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.IsFiltered C] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (X : D) (T : CategoryTheory.Functor C D) [T.Final] (S : CategoryTheory.Functor D E) [S.Final] : (CategoryTheory.StructuredArrow.post X T S).Final - CategoryTheory.Functor.Final.exists_coeq 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [CategoryTheory.IsFilteredOrEmpty C] [F.Final] {d : D} {c : C} (s s' : d ⟶ F.obj c) : ∃ c' t, CategoryTheory.CategoryStruct.comp s (F.map t) = CategoryTheory.CategoryStruct.comp s' (F.map t) - CategoryTheory.Functor.Final.exists_coeq_of_locally_small 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type v₁} [CategoryTheory.Category.{v₁, v₁} C] {D : Type u₂} [CategoryTheory.Category.{v₁, u₂} D] (F : CategoryTheory.Functor C D) [CategoryTheory.IsFilteredOrEmpty C] [F.Final] {d : D} {c : C} (s s' : d ⟶ F.obj c) : ∃ c' t, CategoryTheory.CategoryStruct.comp s (F.map t) = CategoryTheory.CategoryStruct.comp s' (F.map t) - CategoryTheory.StructuredArrow.final_map₂_id 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.IsFiltered C] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {T : CategoryTheory.Functor C D} [T.Final] {S : CategoryTheory.Functor D E} [S.Final] {T' : CategoryTheory.Functor C E} {d : D} {e : E} (u : e ⟶ S.obj d) (α : T.comp S ⟶ T') [CategoryTheory.IsIso α] : (CategoryTheory.StructuredArrow.map₂ u α).Final - CategoryTheory.Functor.final_of_exists_of_isFiltered 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [CategoryTheory.IsFilteredOrEmpty C] (h₁ : ∀ (d : D), ∃ c, Nonempty (d ⟶ F.obj c)) (h₂ : ∀ {d : D} {c : C} (s s' : d ⟶ F.obj c), ∃ c' t, CategoryTheory.CategoryStruct.comp s (F.map t) = CategoryTheory.CategoryStruct.comp s' (F.map t)) : F.Final - CategoryTheory.Functor.final_iff_of_isFiltered 📋 Mathlib.CategoryTheory.Filtered.Final
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [CategoryTheory.IsFilteredOrEmpty C] : F.Final ↔ (∀ (d : D), ∃ c, Nonempty (d ⟶ F.obj c)) ∧ ∀ {d : D} {c : C} (s s' : d ⟶ F.obj c), ∃ c' t, CategoryTheory.CategoryStruct.comp s (F.map t) = CategoryTheory.CategoryStruct.comp s' (F.map t) - CategoryTheory.FinallySmall.mk' 📋 Mathlib.CategoryTheory.Limits.FinallySmall
{J : Type u} [CategoryTheory.Category.{v, u} J] {S : Type w} [CategoryTheory.SmallCategory S] (F : CategoryTheory.Functor S J) [F.Final] : CategoryTheory.FinallySmall J - CategoryTheory.final_fromFinalModel 📋 Mathlib.CategoryTheory.Limits.FinallySmall
(J : Type u) [CategoryTheory.Category.{v, u} J] [CategoryTheory.FinallySmall J] : (CategoryTheory.fromFinalModel J).Final - CategoryTheory.finallySmall_of_final_of_essentiallySmall 📋 Mathlib.CategoryTheory.Limits.FinallySmall
{J : Type u} [CategoryTheory.Category.{v, u} J] {K : Type u₁} [CategoryTheory.Category.{v₁, u₁} K] [CategoryTheory.EssentiallySmall.{w, v₁, u₁} K] (F : CategoryTheory.Functor K J) [F.Final] : CategoryTheory.FinallySmall J - CategoryTheory.finallySmall_of_final_of_finallySmall 📋 Mathlib.CategoryTheory.Limits.FinallySmall
{J : Type u} [CategoryTheory.Category.{v, u} J] {K : Type u₁} [CategoryTheory.Category.{v₁, u₁} K] [CategoryTheory.FinallySmall K] (F : CategoryTheory.Functor K J) [F.Final] : CategoryTheory.FinallySmall J - CategoryTheory.FinallySmall.final_smallCategory 📋 Mathlib.CategoryTheory.Limits.FinallySmall
{J : Type u} {inst✝ : CategoryTheory.Category.{v, u} J} [self : CategoryTheory.FinallySmall J] : ∃ S x F, F.Final - CategoryTheory.FinallySmall.mk 📋 Mathlib.CategoryTheory.Limits.FinallySmall
{J : Type u} [CategoryTheory.Category.{v, u} J] (final_smallCategory : ∃ S x F, F.Final) : CategoryTheory.FinallySmall J - CategoryTheory.FinallySmall.instFinalFilteredFinalModelFromFilteredFinalModel 📋 Mathlib.CategoryTheory.Filtered.FinallySmall
(C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.IsFiltered C] [CategoryTheory.LocallySmall.{w, v, u} C] [CategoryTheory.FinallySmall C] : (CategoryTheory.FinallySmall.fromFilteredFinalModel C).Final - CategoryTheory.FinallySmall.exists_of_isFiltered 📋 Mathlib.CategoryTheory.Filtered.FinallySmall
(C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.IsFiltered C] [CategoryTheory.LocallySmall.{w, v, u} C] [CategoryTheory.FinallySmall C] : ∃ D x, ∃ (_ : CategoryTheory.IsFiltered D), ∃ F, F.Final - CategoryTheory.final_of_representablyFlat 📋 Mathlib.CategoryTheory.Functor.Flat
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) [h : CategoryTheory.RepresentablyFlat F] : F.Final - CategoryTheory.instFinalStructuredArrowCompPreOfRepresentablyFlat 📋 Mathlib.CategoryTheory.Functor.Flat
{C : Type u_1} {D : Type u_2} {E : Type u_3} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_3, u_3} E] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) (X : E) [CategoryTheory.RepresentablyFlat F] : (CategoryTheory.StructuredArrow.pre X F G).Final - CategoryTheory.Functor.bijective_colimitTypePrecomp 📋 Mathlib.CategoryTheory.Limits.Final.Type
{C : Type u₁} {D : Type u₂} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) (P : CategoryTheory.Functor D (Type w)) [F.Final] : Function.Bijective (F.colimitTypePrecomp P) - SheafOfModules.bijective_pushforwardSections 📋 Mathlib.Algebra.Category.ModuleCat.Sheaf.PullbackFree
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {J : CategoryTheory.GrothendieckTopology C} {K : CategoryTheory.GrothendieckTopology D} {F : CategoryTheory.Functor C D} {S : CategoryTheory.Sheaf J RingCat} {R : CategoryTheory.Sheaf K RingCat} [F.IsContinuous J K] (φ : S ⟶ (F.sheafPushforwardContinuous RingCat J K).obj R) (M : SheafOfModules R) [F.Final] : Function.Bijective (SheafOfModules.pushforwardSections φ) - SheafOfModules.instIsIsoPullbackObjUnitToUnitOfFinal 📋 Mathlib.Algebra.Category.ModuleCat.Sheaf.PullbackFree
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {J : CategoryTheory.GrothendieckTopology C} {K : CategoryTheory.GrothendieckTopology D} {F : CategoryTheory.Functor C D} {S : CategoryTheory.Sheaf J RingCat} {R : CategoryTheory.Sheaf K RingCat} [F.IsContinuous J K] (φ : S ⟶ (F.sheafPushforwardContinuous RingCat J K).obj R) [(SheafOfModules.pushforward φ).IsRightAdjoint] [F.Final] : CategoryTheory.IsIso (SheafOfModules.pullbackObjUnitToUnit φ) - SheafOfModules.pullbackObjFreeIso 📋 Mathlib.Algebra.Category.ModuleCat.Sheaf.PullbackFree
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {J : CategoryTheory.GrothendieckTopology C} {K : CategoryTheory.GrothendieckTopology D} {F : CategoryTheory.Functor C D} {S : CategoryTheory.Sheaf J RingCat} {R : CategoryTheory.Sheaf K RingCat} [F.IsContinuous J K] (φ : S ⟶ (F.sheafPushforwardContinuous RingCat J K).obj R) [(SheafOfModules.pushforward φ).IsRightAdjoint] [CategoryTheory.HasWeakSheafify J AddCommGrpCat] [CategoryTheory.HasWeakSheafify K AddCommGrpCat] [J.WEqualsLocallyBijective AddCommGrpCat] [K.WEqualsLocallyBijective AddCommGrpCat] [F.Final] (I : Type u) : (SheafOfModules.pullback φ).obj (SheafOfModules.free I) ≅ SheafOfModules.free I - SheafOfModules.freeFunctorCompPullbackIso 📋 Mathlib.Algebra.Category.ModuleCat.Sheaf.PullbackFree
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {J : CategoryTheory.GrothendieckTopology C} {K : CategoryTheory.GrothendieckTopology D} {F : CategoryTheory.Functor C D} {S : CategoryTheory.Sheaf J RingCat} {R : CategoryTheory.Sheaf K RingCat} [F.IsContinuous J K] (φ : S ⟶ (F.sheafPushforwardContinuous RingCat J K).obj R) [(SheafOfModules.pushforward φ).IsRightAdjoint] [CategoryTheory.HasWeakSheafify J AddCommGrpCat] [CategoryTheory.HasWeakSheafify K AddCommGrpCat] [J.WEqualsLocallyBijective AddCommGrpCat] [K.WEqualsLocallyBijective AddCommGrpCat] [F.Final] : SheafOfModules.freeFunctor.comp (SheafOfModules.pullback φ) ≅ SheafOfModules.freeFunctor - SheafOfModules.pullback_map_ιFree_comp_pullbackObjFreeIso_hom 📋 Mathlib.Algebra.Category.ModuleCat.Sheaf.PullbackFree
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {J : CategoryTheory.GrothendieckTopology C} {K : CategoryTheory.GrothendieckTopology D} {F : CategoryTheory.Functor C D} {S : CategoryTheory.Sheaf J RingCat} {R : CategoryTheory.Sheaf K RingCat} [F.IsContinuous J K] (φ : S ⟶ (F.sheafPushforwardContinuous RingCat J K).obj R) [(SheafOfModules.pushforward φ).IsRightAdjoint] [CategoryTheory.HasWeakSheafify J AddCommGrpCat] [CategoryTheory.HasWeakSheafify K AddCommGrpCat] [J.WEqualsLocallyBijective AddCommGrpCat] [K.WEqualsLocallyBijective AddCommGrpCat] [F.Final] {I : Type u} (i : I) : CategoryTheory.CategoryStruct.comp ((SheafOfModules.pullback φ).map (SheafOfModules.ιFree i)) (SheafOfModules.pullbackObjFreeIso φ I).hom = CategoryTheory.CategoryStruct.comp (SheafOfModules.pullbackObjUnitToUnit φ) (SheafOfModules.ιFree i) - SheafOfModules.pullbackObjFreeIso_hom_naturality 📋 Mathlib.Algebra.Category.ModuleCat.Sheaf.PullbackFree
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {J : CategoryTheory.GrothendieckTopology C} {K : CategoryTheory.GrothendieckTopology D} {F : CategoryTheory.Functor C D} {S : CategoryTheory.Sheaf J RingCat} {R : CategoryTheory.Sheaf K RingCat} [F.IsContinuous J K] (φ : S ⟶ (F.sheafPushforwardContinuous RingCat J K).obj R) [(SheafOfModules.pushforward φ).IsRightAdjoint] [CategoryTheory.HasWeakSheafify J AddCommGrpCat] [CategoryTheory.HasWeakSheafify K AddCommGrpCat] [J.WEqualsLocallyBijective AddCommGrpCat] [K.WEqualsLocallyBijective AddCommGrpCat] [F.Final] {I J✝ : Type u} (f : I → J✝) : CategoryTheory.CategoryStruct.comp ((SheafOfModules.pullback φ).map (SheafOfModules.freeMap f)) (SheafOfModules.pullbackObjFreeIso φ J✝).hom = CategoryTheory.CategoryStruct.comp (SheafOfModules.pullbackObjFreeIso φ I).hom (SheafOfModules.freeMap f) - SheafOfModules.pullback_map_ιFree_comp_pullbackObjFreeIso_hom_assoc 📋 Mathlib.Algebra.Category.ModuleCat.Sheaf.PullbackFree
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {J : CategoryTheory.GrothendieckTopology C} {K : CategoryTheory.GrothendieckTopology D} {F : CategoryTheory.Functor C D} {S : CategoryTheory.Sheaf J RingCat} {R : CategoryTheory.Sheaf K RingCat} [F.IsContinuous J K] (φ : S ⟶ (F.sheafPushforwardContinuous RingCat J K).obj R) [(SheafOfModules.pushforward φ).IsRightAdjoint] [CategoryTheory.HasWeakSheafify J AddCommGrpCat] [CategoryTheory.HasWeakSheafify K AddCommGrpCat] [J.WEqualsLocallyBijective AddCommGrpCat] [K.WEqualsLocallyBijective AddCommGrpCat] [F.Final] {I : Type u} (i : I) {Z : SheafOfModules R} (h : SheafOfModules.free I ⟶ Z) : CategoryTheory.CategoryStruct.comp ((SheafOfModules.pullback φ).map (SheafOfModules.ιFree i)) (CategoryTheory.CategoryStruct.comp (SheafOfModules.pullbackObjFreeIso φ I).hom h) = CategoryTheory.CategoryStruct.comp (SheafOfModules.pullbackObjUnitToUnit φ) (CategoryTheory.CategoryStruct.comp (SheafOfModules.ιFree i) h) - SheafOfModules.pullbackObjFreeIso_hom_naturality_assoc 📋 Mathlib.Algebra.Category.ModuleCat.Sheaf.PullbackFree
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {J : CategoryTheory.GrothendieckTopology C} {K : CategoryTheory.GrothendieckTopology D} {F : CategoryTheory.Functor C D} {S : CategoryTheory.Sheaf J RingCat} {R : CategoryTheory.Sheaf K RingCat} [F.IsContinuous J K] (φ : S ⟶ (F.sheafPushforwardContinuous RingCat J K).obj R) [(SheafOfModules.pushforward φ).IsRightAdjoint] [CategoryTheory.HasWeakSheafify J AddCommGrpCat] [CategoryTheory.HasWeakSheafify K AddCommGrpCat] [J.WEqualsLocallyBijective AddCommGrpCat] [K.WEqualsLocallyBijective AddCommGrpCat] [F.Final] {I J✝ : Type u} (f : I → J✝) {Z : SheafOfModules R} (h : SheafOfModules.free J✝ ⟶ Z) : CategoryTheory.CategoryStruct.comp ((SheafOfModules.pullback φ).map (SheafOfModules.freeMap f)) (CategoryTheory.CategoryStruct.comp (SheafOfModules.pullbackObjFreeIso φ J✝).hom h) = CategoryTheory.CategoryStruct.comp (SheafOfModules.pullbackObjFreeIso φ I).hom (CategoryTheory.CategoryStruct.comp (SheafOfModules.freeMap f) h) - TopCat.Presheaf.SheafCondition.instFinalPairwiseOpensLeCoverPairwiseToOpensLeCover 📋 Mathlib.Topology.Sheaves.SheafCondition.PairwiseIntersections
{X : TopCat} {ι : Type u_2} (U : ι → TopologicalSpace.Opens ↑X) : (TopCat.Presheaf.SheafCondition.pairwiseToOpensLeCover U).Final - CategoryTheory.IsCardinalFiltered.of_final 📋 Mathlib.CategoryTheory.Presentable.IsCardinalFiltered
{J₁ : Type u} [CategoryTheory.Category.{v, u} J₁] {J₂ : Type u'} [CategoryTheory.Category.{v', u'} J₂] (F : CategoryTheory.Functor J₁ J₂) [F.Final] (κ : Cardinal.{w}) [Fact κ.IsRegular] [CategoryTheory.IsCardinalFiltered J₁ κ] : CategoryTheory.IsCardinalFiltered J₂ κ - CategoryTheory.TwoSquare.instFinalCostructuredArrowObjCostructuredArrowRightwardsOfGuitartExact 📋 Mathlib.CategoryTheory.GuitartExact.Basic
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} (w : CategoryTheory.TwoSquare T L R B) [hw : w.GuitartExact] (X₃ : C₃) : (w.costructuredArrowRightwards X₃).Final - CategoryTheory.TwoSquare.guitartExact_iff_final 📋 Mathlib.CategoryTheory.GuitartExact.Basic
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} (w : CategoryTheory.TwoSquare T L R B) : w.GuitartExact ↔ ∀ (X₃ : C₃), (w.costructuredArrowRightwards X₃).Final - CategoryTheory.TwoSquare.costructuredArrowRightwards_final_iff_of_iso 📋 Mathlib.CategoryTheory.GuitartExact.Basic
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} (w : CategoryTheory.TwoSquare T L R B) {X₃ X₃' : C₃} (e : X₃ ≅ X₃') : (w.costructuredArrowRightwards X₃).Final ↔ (w.costructuredArrowRightwards X₃').Final - CategoryTheory.TwoSquare.hasPointwiseLeftKanExtensionAt_iff 📋 Mathlib.CategoryTheory.GuitartExact.KanExtension
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} {D : Type u₅} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] [CategoryTheory.Category.{v₅, u₅} D] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} (w : CategoryTheory.TwoSquare T L R B) (F : CategoryTheory.Functor C₂ D) (X₃ : C₃) [(w.costructuredArrowRightwards X₃).Final] : L.HasPointwiseLeftKanExtensionAt (T.comp F) X₃ ↔ R.HasPointwiseLeftKanExtensionAt F (B.obj X₃) - CategoryTheory.Functor.LeftExtension.isPointwiseLeftKanExtensionAtCompTwoSquareEquiv 📋 Mathlib.CategoryTheory.GuitartExact.KanExtension
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} {D : Type u₅} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] [CategoryTheory.Category.{v₅, u₅} D] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} {F : CategoryTheory.Functor C₂ D} (E : R.LeftExtension F) (w : CategoryTheory.TwoSquare T L R B) (X₃ : C₃) [(w.costructuredArrowRightwards X₃).Final] : (E.compTwoSquare w).IsPointwiseLeftKanExtensionAt X₃ ≃ E.IsPointwiseLeftKanExtensionAt (B.obj X₃) - CategoryTheory.Functor.LeftExtension.nonempty_isPointwiseLeftKanExtensionAt_compTwoSquare_iff 📋 Mathlib.CategoryTheory.GuitartExact.KanExtension
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} {D : Type u₅} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] [CategoryTheory.Category.{v₅, u₅} D] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} {F : CategoryTheory.Functor C₂ D} (E : R.LeftExtension F) (w : CategoryTheory.TwoSquare T L R B) (X₃ : C₃) [(w.costructuredArrowRightwards X₃).Final] : Nonempty ((E.compTwoSquare w).IsPointwiseLeftKanExtensionAt X₃) ↔ Nonempty (E.IsPointwiseLeftKanExtensionAt (B.obj X₃)) - Set.Ici.subtype_functor_final 📋 Mathlib.Order.Interval.Set.Final
{J : Type u} [LinearOrder J] (j : J) : ⋯.functor.Final - CategoryTheory.Functor.DenseAt.precompOfFinal 📋 Mathlib.CategoryTheory.Functor.KanExtension.DenseAt
{C : Type u₁} {D : Type u₂} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {Y : D} (hY : F.DenseAt Y) {C' : Type u_1} [CategoryTheory.Category.{v_1, u_1} C'] (G : CategoryTheory.Functor C' C) [(CategoryTheory.CostructuredArrow.pre G F Y).Final] : (G.comp F).DenseAt Y - CategoryTheory.Functor.IsDenseAt.of_final 📋 Mathlib.CategoryTheory.Functor.KanExtension.DenseAt
{C : Type u₁} {D : Type u₂} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {Y : D} {C' : Type u_1} [CategoryTheory.Category.{v_1, u_1} C'] (G : CategoryTheory.Functor C' C) [(CategoryTheory.CostructuredArrow.pre G F Y).Final] (hY : F.isDenseAt Y) : (G.comp F).isDenseAt Y - CategoryTheory.Functor.DenseAt.precompEquivOfFinal 📋 Mathlib.CategoryTheory.Functor.KanExtension.DenseAt
{C : Type u₁} {D : Type u₂} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {Y : D} {C' : Type u_1} [CategoryTheory.Category.{v_1, u_1} C'] (G : CategoryTheory.Functor C' C) [(CategoryTheory.CostructuredArrow.pre G F Y).Final] : (G.comp F).DenseAt Y ≃ F.DenseAt Y - CategoryTheory.Functor.IsDenseAt.iff_of_final 📋 Mathlib.CategoryTheory.Functor.KanExtension.DenseAt
{C : Type u₁} {D : Type u₂} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {Y : D} {C' : Type u_1} [CategoryTheory.Category.{v_1, u_1} C'] (G : CategoryTheory.Functor C' C) [(CategoryTheory.CostructuredArrow.pre G F Y).Final] : (G.comp F).isDenseAt Y ↔ F.isDenseAt Y - CategoryTheory.Limits.IndObjectPresentation.instFinalICostructuredArrowFunctorOppositeTypeYonedaToCostructuredArrow 📋 Mathlib.CategoryTheory.Limits.Indization.IndObject
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} (P : CategoryTheory.Limits.IndObjectPresentation A) : P.toCostructuredArrow.Final - CategoryTheory.Comma.isConnected_comma_of_final 📋 Mathlib.CategoryTheory.Comma.Final
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {B : Type u₂} [CategoryTheory.Category.{v₂, u₂} B] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] (L : CategoryTheory.Functor A T) (R : CategoryTheory.Functor B T) [CategoryTheory.IsConnected A] [R.Final] : CategoryTheory.IsConnected (CategoryTheory.Comma L R) - CategoryTheory.Comma.isFiltered_of_final 📋 Mathlib.CategoryTheory.Comma.Final
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {B : Type u₂} [CategoryTheory.Category.{v₂, u₂} B] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] (L : CategoryTheory.Functor A T) (R : CategoryTheory.Functor B T) [CategoryTheory.IsFiltered A] [CategoryTheory.IsFiltered B] [R.Final] : CategoryTheory.IsFiltered (CategoryTheory.Comma L R) - CategoryTheory.Comma.final_fst 📋 Mathlib.CategoryTheory.Comma.Final
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {B : Type u₂} [CategoryTheory.Category.{v₂, u₂} B] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] (L : CategoryTheory.Functor A T) (R : CategoryTheory.Functor B T) [R.Final] : (CategoryTheory.Comma.fst L R).Final - CategoryTheory.Comma.final_snd 📋 Mathlib.CategoryTheory.Comma.Final
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {B : Type u₂} [CategoryTheory.Category.{v₂, u₂} B] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] (L : CategoryTheory.Functor A T) (R : CategoryTheory.Functor B T) [CategoryTheory.IsFiltered A] [CategoryTheory.IsFiltered B] [R.Final] : (CategoryTheory.Comma.snd L R).Final - CategoryTheory.Comma.final_fst_of_isConnected_structuredArrow 📋 Mathlib.CategoryTheory.Comma.Final
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {B : Type u₂} [CategoryTheory.Category.{v₂, u₂} B] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] (L : CategoryTheory.Functor A T) (R : CategoryTheory.Functor B T) [∀ (a : A), CategoryTheory.IsConnected (CategoryTheory.StructuredArrow (L.obj a) R)] : (CategoryTheory.Comma.fst L R).Final - CategoryTheory.Comma.final_snd_of_isFiltered_structuredArrow 📋 Mathlib.CategoryTheory.Comma.Final
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {B : Type u₂} [CategoryTheory.Category.{v₂, u₂} B] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] (L : CategoryTheory.Functor A T) (R : CategoryTheory.Functor B T) [CategoryTheory.IsFiltered A] [CategoryTheory.IsFiltered B] [∀ (a : A), CategoryTheory.IsFiltered (CategoryTheory.StructuredArrow (L.obj a) R)] : (CategoryTheory.Comma.snd L R).Final - CategoryTheory.Comma.map_final 📋 Mathlib.CategoryTheory.Comma.Final
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {B : Type u₂} [CategoryTheory.Category.{v₂, u₂} B] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {L : CategoryTheory.Functor A T} {R : CategoryTheory.Functor B T} {A' : Type u₄} [CategoryTheory.Category.{v₄, u₄} A'] {B' : Type u₅} [CategoryTheory.Category.{v₅, u₅} B'] {T' : Type u₆} [CategoryTheory.Category.{v₆, u₆} T'] {L' : CategoryTheory.Functor A' T'} {R' : CategoryTheory.Functor B' T'} {F : CategoryTheory.Functor A A'} {G : CategoryTheory.Functor B B'} {H : CategoryTheory.Functor T T'} (iL : F.comp L' ≅ L.comp H) (iR : G.comp R' ≅ R.comp H) [CategoryTheory.IsFiltered B] [R.Final] [R'.Final] [F.Final] [G.Final] : (CategoryTheory.Comma.map iL.hom iR.inv).Final - CategoryTheory.Functor.final_of_final_costructuredArrowToOver 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Final
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {B : Type u₂} [CategoryTheory.Category.{v₂, u₂} B] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] (L : CategoryTheory.Functor A T) (R : CategoryTheory.Functor B T) [R.Final] [hB : ∀ (b : B), (CategoryTheory.CostructuredArrow.toOver L (R.obj b)).Final] : L.Final - CategoryTheory.isFiltered_of_isFiltered_costructuredArrow 📋 Mathlib.CategoryTheory.Filtered.CostructuredArrow
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {B : Type u₂} [CategoryTheory.Category.{v₂, u₂} B] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] (L : CategoryTheory.Functor A T) (R : CategoryTheory.Functor B T) [CategoryTheory.IsFiltered B] [R.Final] [∀ (b : B), CategoryTheory.IsFiltered (CategoryTheory.CostructuredArrow L (R.obj b))] : CategoryTheory.IsFiltered A - CategoryTheory.Join.instFinalInclRightOfIsConnected 📋 Mathlib.CategoryTheory.Join.Final
(C : Type u_1) (D : Type u_2) [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.IsConnected D] : (CategoryTheory.Join.inclRight C D).Final - CategoryTheory.Limits.exists_eq_isColimitMap_of_preservesColimit_coyoneda 📋 Mathlib.CategoryTheory.Limits.ConstructLimitMap
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {I : Type u₂} [CategoryTheory.Category.{v₂, u₂} I] {I' : Type u₃} [CategoryTheory.Category.{v₃, u₃} I'] {D : CategoryTheory.Functor I C} {D' : CategoryTheory.Functor I' C} {c : CategoryTheory.Limits.Cocone D} {c' : CategoryTheory.Limits.Cocone D'} (hc : CategoryTheory.Limits.IsColimit c) (hc' : CategoryTheory.Limits.IsColimit c') (f : c.pt ⟶ c'.pt) [CategoryTheory.IsFiltered I] [CategoryTheory.IsFiltered I'] [∀ (i : I), CategoryTheory.Limits.PreservesColimit D' (CategoryTheory.coyoneda.obj (Opposite.op (D.obj i)))] : ∃ J x, ∃ (_ : CategoryTheory.IsFiltered J), ∃ G G', ∃ (x_2 : G.Final) (_ : G'.Final), ∃ g, f = ((CategoryTheory.Functor.Final.isColimitWhiskerEquiv G c).symm hc).map (CategoryTheory.Limits.Cocone.whisker G' c') g - CategoryTheory.IsCardinalAccessibleCategory.final_toCostructuredArrow 📋 Mathlib.CategoryTheory.Presentable.Dense
{C : Type u} [CategoryTheory.Category.{v, u} C] {κ : Cardinal.{w}} [Fact κ.IsRegular] {J : Type u'} [CategoryTheory.Category.{v', u'} J] [CategoryTheory.EssentiallySmall.{w, v', u'} J] [CategoryTheory.IsCardinalFiltered J κ] {X : C} (p : (CategoryTheory.isCardinalPresentable C κ).ColimitOfShape J X) : p.toCostructuredArrow.Final - CategoryTheory.IsCardinalFiltered.exists_cardinal_directed 📋 Mathlib.CategoryTheory.Presentable.Directed
(J : Type w) [CategoryTheory.SmallCategory J] (κ : Cardinal.{w}) [Fact κ.IsRegular] [CategoryTheory.IsCardinalFiltered J κ] : ∃ α x, ∃ (_ : CategoryTheory.IsCardinalFiltered α κ), ∃ F, F.Final - CategoryTheory.IsCardinalFiltered.exists_cardinal_directed.final_functor 📋 Mathlib.CategoryTheory.Presentable.Directed
(J : Type w) [CategoryTheory.SmallCategory J] (κ : Cardinal.{w}) [Fact κ.IsRegular] [CategoryTheory.IsCardinalFiltered J κ] (hJ : ∀ (e : J), ∃ m x, IsEmpty (m ⟶ e)) : (CategoryTheory.IsCardinalFiltered.exists_cardinal_directed.functor J κ).Final - CategoryTheory.IsFiltered.exists_directed 📋 Mathlib.CategoryTheory.Presentable.Directed
(J : Type w) [CategoryTheory.SmallCategory J] [CategoryTheory.IsFiltered J] : ∃ α x, ∃ (_ : IsDirected α fun x1 x2 => x1 ≤ x2) (_ : Nonempty α), ∃ F, F.Final - CategoryTheory.IsCardinalFiltered.exists_cardinal_directed.aux 📋 Mathlib.CategoryTheory.Presentable.Directed
(J : Type w) [CategoryTheory.SmallCategory J] (κ : Cardinal.{w}) [Fact κ.IsRegular] [CategoryTheory.IsCardinalFiltered J κ] (hJ : ∀ (e : J), ∃ m x, IsEmpty (m ⟶ e)) : ∃ α x, ∃ (_ : CategoryTheory.IsCardinalFiltered α κ), ∃ F, F.Final - Profinite.Extend.functorOp_final 📋 Mathlib.Topology.Category.Profinite.Extend
{I : Type u} [CategoryTheory.SmallCategory I] [CategoryTheory.IsCofiltered I] {F : CategoryTheory.Functor I FintypeCat} (c : CategoryTheory.Limits.Cone (F.comp FintypeCat.toProfinite)) (hc : CategoryTheory.Limits.IsLimit c) [∀ (i : I), CategoryTheory.Epi (c.π.app i)] : (Profinite.Extend.functorOp c).Final - LightProfinite.Extend.functorOp_final 📋 Mathlib.Topology.Category.LightProfinite.Extend
{F : CategoryTheory.Functor ℕᵒᵖ FintypeCat} (c : CategoryTheory.Limits.Cone (F.comp FintypeCat.toLightProfinite)) (hc : CategoryTheory.Limits.IsLimit c) [∀ (i : ℕᵒᵖ), CategoryTheory.Epi (c.π.app i)] : (LightProfinite.Extend.functorOp c).Final - LightCondensed.instFinalNatCostructuredArrowOppositeFintypeCatLightProfiniteOpToLightProfiniteOpPtAsLimitConeFunctorOp 📋 Mathlib.Condensed.Discrete.Colimit
{S : LightProfinite} : (LightProfinite.Extend.functorOp S.asLimitCone).Final - Condensed.instFinalOppositeDiscreteQuotientCarrierToTopTotallyDisconnectedSpaceCostructuredArrowFintypeCatProfiniteOpToProfiniteOpPtAsLimitConeFunctorOp 📋 Mathlib.Condensed.Discrete.Colimit
{S : Profinite} : (Profinite.Extend.functorOp S.asLimitCone).Final
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
🔍Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
🔍"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
🔍_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
🔍Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
🔍(?a -> ?b) -> List ?a -> List ?b
🔍List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
🔍|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of all→and∀) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
🔍|- _ < _ → tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
⊢ (_ : Type _)finds all definitions which provide data while⊢ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
🔍 Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ → _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision ce5dd8c