4.24 Adjoint functors to 4.43 Monoidal categories
Section4.24 Adjoint functors#
Section 4.24 of the Stacks Project, Tag 0036. 9 tags here are carried by 2 declarations of the repository (all in StacksCore) and 16 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0037, a definition
Tag 0037 in the Stacks Project.
Declarations registered for the tag:
Adjunction.mkOfHomEquivregistered withadd_to_stacksin StacksCore/CategoryTheory/AdjointFunctors.lean, line 16 (StacksCore): “constructor using the hom-isomorphism definition”.
Tag 0A8B, a lemma
Tag 0A8B in the Stacks Project.
Declarations registered for the tag:
isLeftAdjoint_of_rightAdjointObjIsDefined_eq_topregistered withadd_to_stacksin StacksCore/CategoryTheory/AdjointFunctors.lean, line 18 (StacksCore).
Tag 0FWV, a lemma
Tag 0FWV in the Stacks Project.
CategoryTheory.Adjunction.fullyFaithfulLeftOfComp, a def in StacksCore (human-reviewed), declared in StacksCore/CategoryTheory/AdjointFunctors.lean, line 22. The attribute's comment: “Case 1”.
Given an adjunction
L ⊣ R, ifL ⋙ Ris fully faithfulLis too.
def Adjunction.fullyFaithfulLeftOfComp {C D : Type*} [Category C] [Category D]
{L : C ⥤ D} {R : D ⥤ C} (adj : L ⊣ R) (h : (L ⋙ R).FullyFaithful) : L.FullyFaithful
CategoryTheory.Adjunction.fullyFaithfulRightOfComp, a def in StacksCore (human-reviewed), declared in StacksCore/CategoryTheory/AdjointFunctors.lean, line 32. The attribute's comment: “Case 2”.
Given an adjunction
L ⊣ R, ifR ⋙ Lis fully faithfulRis too.
def Adjunction.fullyFaithfulRightOfComp {C D : Type*} [Category C] [Category D]
{L : C ⥤ D} {R : D ⥤ C} (adj : L ⊣ R) (h : (R ⋙ L).FullyFaithful) : R.FullyFaithful
Tag 07RB, a lemma
Tag 07RB in the Stacks Project.
Declarations registered for the tag:
Adjunction.fullyFaithfulLOfCompIsoIdregistered withadd_to_stacksin StacksCore/CategoryTheory/AdjointFunctors.lean, line 40 (StacksCore): “Part 1, (2) => (1)”.Adjunction.unit_isIso_of_L_fully_faithfulregistered withadd_to_stacksin StacksCore/CategoryTheory/AdjointFunctors.lean, line 41 (StacksCore): “Part 1, (1) => (3)”.Adjunction.fullyFaithfulLOfIsIsoUnitregistered withadd_to_stacksin StacksCore/CategoryTheory/AdjointFunctors.lean, line 42 (StacksCore): “Part 1, (3) => (1)”.Adjunction.fullyFaithfulROfCompIsoIdregistered withadd_to_stacksin StacksCore/CategoryTheory/AdjointFunctors.lean, line 43 (StacksCore): “Part 2, (2) => (1)”.Adjunction.counit_isIso_of_R_fully_faithfulregistered withadd_to_stacksin StacksCore/CategoryTheory/AdjointFunctors.lean, line 44 (StacksCore): “Part 2, (1) => (3)”.Adjunction.fullyFaithfulROfIsIsoCounitregistered withadd_to_stacksin StacksCore/CategoryTheory/AdjointFunctors.lean, line 45 (StacksCore): “Part 2, (3) => (1)”.
Tag 0038, a lemma
Tag 0038 in the Stacks Project.
Declarations registered for the tag:
instPreservesColimitsOfSizeOfIsLeftAdjointregistered withadd_to_stacksin StacksCore/CategoryTheory/AdjointFunctors.lean, line 47 (StacksCore).instPreservesLimitsOfSizeOfIsRightAdjointregistered withadd_to_stacksin StacksCore/CategoryTheory/AdjointFunctors.lean, line 48 (StacksCore).
Tag 0039, a lemma
Tag 0039 in the Stacks Project.
Declarations registered for the tag:
Adjunction.leftAdjoint_preservesColimitsregistered withadd_to_stacksin StacksCore/CategoryTheory/AdjointFunctors.lean, line 50 (StacksCore): “implies 0039 for left adjoints withPreservesColimits.preservesFiniteColimits”.Adjunction.rightAdjoint_preservesLimitsregistered withadd_to_stacksin StacksCore/CategoryTheory/AdjointFunctors.lean, line 52 (StacksCore): “implies 0039 for right adjoints withPreservesLimits.preservesFiniteLimits”.
Tag 0GLL, a lemma
Tag 0GLL in the Stacks Project.
Declarations registered for the tag:
Adjunction.left_triangle_componentsregistered withadd_to_stacksin StacksCore/CategoryTheory/AdjointFunctors.lean, line 55 (StacksCore): “first equation”.Adjunction.right_triangle_componentsregistered withadd_to_stacksin StacksCore/CategoryTheory/AdjointFunctors.lean, line 56 (StacksCore): “second equation”.
Tag 0B65, a lemma
Tag 0B65 in the Stacks Project.
Declarations registered for the tag:
conjugateEquiv_counitregistered withadd_to_stacksin StacksCore/CategoryTheory/AdjointFunctors.lean, line 58 (StacksCore): “in components”.
Tag 0DV0, a lemma
Tag 0DV0 in the Stacks Project.
Declarations registered for the tag:
Adjunction.comp_counit_appregistered withadd_to_stacksin StacksCore/CategoryTheory/AdjointFunctors.lean, line 60 (StacksCore): “counit equation”.
Sources
Section4.25 A criterion for representability#
Section 4.25 of the Stacks Project, Tag 0AHM. 3 tags here are carried by 4 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0AHN, a lemma
Tag 0AHN in the Stacks Project.
CategoryTheory.isCorepresentable_of_solutionSet, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Representable/SolutionSet.lean, line 273. References: SGA 4 I (8.12.8.1), “Sufficiency direction”.
Stacks 0AHN (Brown representability criterion).
Let
Cbe a category with all (small) limits andF : C ⥤ Type va functor that preserves limits. Suppose there is a family{xᵢ}of objects together with elementsfᵢ ∈ F xᵢsuch that for everyy : Cand everyg ∈ F ythere exists aniand a morphismφ : xᵢ ⟶ ywithF.map φ fᵢ = g. ThenFis corepresentable.
theorem isCorepresentable_of_solutionSet
{C : Type u} [Category.{v} C] [HasLimitsOfSize.{v, v} C]
(F : C ⥤ Type v) [PreservesLimitsOfSize.{v, v} F]
{I : Type v} (x : I → C) (f : ∀ i, F.obj (x i))
(hsurj : ∀ (y : C) (g : F.obj y), ∃ i, ∃ φ : x i ⟶ y, F.map φ (f i) = g) :
F.IsCorepresentable
Tag 0AHP, a remark
Tag 0AHP in the Stacks Project.
CategoryTheory.bijective_comp_freeGroup_of, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Representable/Applications.lean, line 56. The attribute's comment: “the free group on a set”.
Stacks 0AHP, the free group on a set. The free group on
Erepresents the functorG ↦ Map(E, G)on groups: composing a group homomorphismF_E → Gwith the canonical mapFreeGroup.of : E → F_Eis a bijection fromMor_{Groups}(F_E, G)toMap(E, G).
theorem bijective_comp_freeGroup_of (E : Type u) (G : Type v) [Group G] :
Function.Bijective fun f : FreeGroup E →* G => (f : FreeGroup E → G) ∘ FreeGroup.of
CategoryTheory.closure_range_freeGroup_of, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Representable/Applications.lean, line 63. The attribute's comment: “the free group on a set”.
Stacks 0AHP, the free group on a set: the map
E → F_Ecorresponding to the identity ofF_EgeneratesF_E, so no relations have been imposed.
theorem closure_range_freeGroup_of (E : Type u) :
Subgroup.closure (Set.range (FreeGroup.of : E → FreeGroup E)) = ⊤
CategoryTheory.colimitHomEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Representable/Applications.lean, line 74. The attribute's comment: “colimits of topological spaces”.
Stacks 0AHP, colimits of topological spaces. For a diagram
X : 𝓘 ⥤ Topof topological spaces, a morphism out of the colimit ofXis the same thing as an element oflim_𝓘 Mor_{Top}(X_i, Y), i.e. a family of morphismsφ_i : X_i ⟶ Ycompatible with the transition maps of the diagram. So the colimit — which exists becauseTophas limits and the criterion of Stacks 0AHN applies — is precisely a space representing the functorY ↦ lim_𝓘 Mor_{Top}(X_i, Y)of the source.
noncomputable def colimitHomEquiv {𝓘 : Type u} [SmallCategory 𝓘] (X : 𝓘 ⥤ TopCat.{u})
(Y : TopCat.{u}) :
(colimit X ⟶ Y) ≃ (X ⟶ (Functor.const 𝓘).obj Y)
Tag 0AHQ, a theorem
Tag 0AHQ in the Stacks Project.
Declarations registered for the tag:
isRightAdjoint_of_preservesLimits_of_solutionSetConditionregistered withadd_to_stacksin StacksCore/CategoryTheory/AdjointFunctors.lean, line 62 (StacksCore).
Sources
Section4.26 Categorically compact objects#
Section 4.26 of the Stacks Project, Tag 0FWW. 2 tags here are carried by 2 declarations of the repository (all in StacksFrontier) and 2 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0FWX, a definition
Tag 0FWX in the Stacks Project.
Declarations registered for the tag:
IsFinitelyPresentableregistered withadd_to_stacksin StacksCore/CategoryTheory/IsFinitelyPresentable.lean, line 15 (StacksCore).CategoryTheory.isFinitelyPresentable_iff_preservesFilteredColimitsregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Stacks0FWX.lean, line 10 (StacksFrontier). References: SGA 4 VI (1.24.2); SGA 4 VI (4.10).
Tag 0FWY, a lemma
Tag 0FWY in the Stacks Project.
CategoryTheory.ObjectProperty.exists_extension_of_preservesFilteredColimits, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/KanExtension/Extend.lean, line 60. References: SGA 4 I (8.7.2), “existence of f̄”; SGA 4 I (8.7.3), “ess. surj. of (8.7.3.1)”.
Stacks 0FWY (existence). Let
CandDhavew-filtered colimits, letPbe a property of objects ofCcutting out an essentiallyw-small full subcategory of categorically compact objects (Stacks 0FWX), and assume every object ofCis aw-filtered colimit of objects satisfyingP. Then every functorF'out of that subcategory extends to a functorC ⥤ Dcommuting with filtered colimits.
theorem exists_extension_of_preservesFilteredColimits
[HasFilteredColimitsOfSize.{w, w} C] [HasFilteredColimitsOfSize.{w, w} D]
[EssentiallySmall.{w} P.FullSubcategory]
(hP : P ≤ isFinitelyPresentable.{w} C) (hgen : ∀ X : C, P.ind.{w} X)
(F' : P.FullSubcategory ⥤ D) :
∃ F : C ⥤ D, PreservesFilteredColimitsOfSize.{w, w} F ∧ Nonempty (P.ι ⋙ F ≅ F')
CategoryTheory.ObjectProperty.existsUnique_iso_of_preservesFilteredColimits, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/KanExtension/Extend.lean, line 80. References: SGA 4 I (8.7.2), “uniqueness of f̄”; SGA 4 I (8.7.3), “uniqueness of extension”.
Stacks 0FWY (uniqueness). Under the hypotheses of
exists_extension_of_preservesFilteredColimits, an extension ofF'commuting with filtered colimits is unique up to a unique natural isomorphism compatible with the identifications of the restrictions withF'.
theorem existsUnique_iso_of_preservesFilteredColimits
[HasFilteredColimitsOfSize.{w, w} C] [EssentiallySmall.{w} P.FullSubcategory]
(hP : P ≤ isFinitelyPresentable.{w} C) (hgen : ∀ X : C, P.ind.{w} X)
{F' : P.FullSubcategory ⥤ D} (F₁ F₂ : C ⥤ D)
[PreservesFilteredColimitsOfSize.{w, w} F₁] [PreservesFilteredColimitsOfSize.{w, w} F₂]
(e₁ : P.ι ⋙ F₁ ≅ F') (e₂ : P.ι ⋙ F₂ ≅ F') :
∃! φ : F₁ ≅ F₂, Functor.whiskerLeft P.ι φ.hom = (e₁ ≪≫ e₂.symm).hom
Sources
Section4.27 Localization in categories#
Section 4.27 of the Stacks Project, Tag 04VB. 20 tags here are carried by 25 declarations of the repository (all in StacksFrontier) and 19 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 04VC, a definition
Tag 04VC in the Stacks Project.
Declarations registered for the tag:
MorphismProperty.IsMultiplicativeregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 77 (StacksFrontier): “LMS1 = RMS1: identities and composites of elements of S lie in S”.MorphismProperty.HasLeftCalculusOfFractionsregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 79 (StacksFrontier): “left multiplicative system: LMS1, LMS2 (exists_leftFraction), LMS3 (ext)”.MorphismProperty.HasRightCalculusOfFractionsregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 81 (StacksFrontier): “right multiplicative system: RMS1, RMS2 (exists_rightFraction), RMS3 (ext)”.
Tag 04VD, a lemma
Tag 04VD in the Stacks Project.
Declarations registered for the tag:
MorphismProperty.LeftFractionregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 83 (StacksFrontier): “the pairs (f : X → Y', s : Y → Y') with s ∈ S”.CategoryTheory.MorphismProperty.LeftFractionRelregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 85 (StacksFrontier): “the relation on pairs”.MorphismProperty.equivalenceLeftFractionRelregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 86 (StacksFrontier): “(1) the relation is an equivalence relation”.MorphismProperty.LeftFraction.comp₀_relregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 88 (StacksFrontier): “(2) the class of the composite does not depend on the square chosen by LMS2”.MorphismProperty.LeftFraction.Localization.Hom.comp_eqregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 90 (StacksFrontier): “(2) composition of classes is computed on representatives”.MorphismProperty.LeftFraction.Localization.instCategoryregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 92 (StacksFrontier): “(3) the category S⁻¹C”.
Tag 0BM2, a definition
Tag 0BM2 in the Stacks Project.
Declarations registered for the tag:
CategoryTheory.MorphismProperty.LeftFractionregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 106 (StacksFrontier): “the pair(f : X ⟶ Y', s : Y ⟶ Y')withs ∈ S”.CategoryTheory.MorphismProperty.LeftFraction.Localization.Hom.mkregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 108 (StacksFrontier): “its equivalence classs⁻¹f, a morphismX ⟶ YofS⁻¹C”.
Tag 04VE, a lemma
Tag 04VE in the Stacks Project.
CategoryTheory.Localization.exists_common_leftFraction, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/LeftFraction/CommonDenominator.lean, line 141.
Stacks 04VE. Let
W : MorphismProperty Chave left calculus of fractions and letLbe a localisation functor forW. For any finite familyg : ∀ i, L.obj (X i) ⟶ L.obj Y, there exist a common targetY' : C, a morphisms : Y ⟶ Y'withW s, and a familyf : ∀ i, X i ⟶ Y'such that eachg iequalsL.map (f i) ≫ (Localization.isoOfHom L W s _).inv.
theorem exists_common_leftFraction
{C : Type u} [Category.{v} C] {W : MorphismProperty C}
{D : Type*} [Category D] (L : C ⥤ D) [L.IsLocalization W]
[W.HasLeftCalculusOfFractions]
{ι : Type*} [Finite ι]
{X : ι → C} {Y : C}
(g : ∀ i, L.obj (X i) ⟶ L.obj Y) :
∃ (Y' : C) (s : Y ⟶ Y') (hs : W s) (f : ∀ i, X i ⟶ Y'),
∀ i, g i = L.map (f i) ≫ (Localization.isoOfHom L W s hs).inv
Tag 04VF, a lemma
Tag 04VF in the Stacks Project.
map_eq_iff_leftFractionRel, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/LeftFraction/Equality.lean, line 55.
Stacks 04VF. For a left multiplicative system
WonCand a localization functorL : C ⥤ DatW, two left fractionsφ ψ : X ⟶ Yhave the same image inDif and only ifLeftFractionRel φ ψ, i.e. if and only if they agree after postcomposition with a suitable morphism ofW.
theorem map_eq_iff_leftFractionRel {C D : Type*} [Category C] [Category D] (L : C ⥤ D)
{W : MorphismProperty C} [W.HasLeftCalculusOfFractions] [L.IsLocalization W]
{X Y : C} (φ ψ : W.LeftFraction X Y) :
φ.map L (Localization.inverts _ _) = ψ.map L (Localization.inverts _ _) ↔
LeftFractionRel φ ψ
Tag 05Q0, a remark
Tag 05Q0 in the Stacks Project.
CategoryTheory.MorphismProperty.isColimitUnderHomCocone, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/LeftFraction/HomAsColimit.lean, line 128. The attribute's comment: “the displayed formula 05Q1: the morphisms X ⟶ Y of the localization are the filtered colimit of the sets Mor_C(X, Y') over the objects (s : Y ⟶ Y') of Y/S, at the tautological cocone whose leg at s sends f to the left fraction s⁻¹ f”. References: SGA 4 VI (6.5).
Morphisms of
W⁻¹Cas a colimit overY/S: for a left multiplicative systemWonC, a localization functorL : C ⥤ DofCatWand objectsX,YofC, the morphismsL.obj X ⟶ L.obj YofW⁻¹Care the colimitcolim_{(s : Y ⟶ Y') ∈ Y/S} Mor_C(X, Y'), in the sense that the tautological coconeunderHomCocone, whose leg atssendsfto the left fractions⁻¹ f, is a colimit cocone. The index categoryY/Sis filtered byMorphismProperty.isFiltered_under_of_hasLeftCalculusOfFractions, so this exhibits the morphisms ofW⁻¹Cas a filtered colimit of morphisms ofC.
noncomputable def isColimitUnderHomCocone (X Y : C) : IsColimit (W.underHomCocone L X Y)
Tag 04VG, a lemma
Tag 04VG in the Stacks Project.
Declarations registered for the tag:
CategoryTheory.MorphismProperty.LeftFraction.Localization.Qregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 94 (StacksFrontier): “(1) the functor Q”. References: SGA 4 VI (6.5); SGA 4½ Etat 0 (2.3.1).MorphismProperty.LeftFraction.Localization.Q_mapregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 95 (StacksFrontier): “(1) Q sends f to the class of (f, id)”.MorphismProperty.LeftFraction.Localization.StrictUniversalPropertyFixedTarget.invertsregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 97 (StacksFrontier): “(2) Q(s) is an isomorphism for s ∈ S”.MorphismProperty.LeftFraction.Localization.StrictUniversalPropertyFixedTarget.liftregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 99 (StacksFrontier): “(3) existence of H”.MorphismProperty.LeftFraction.Localization.StrictUniversalPropertyFixedTarget.facregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 101 (StacksFrontier): “(3) H ∘ Q = G”.MorphismProperty.LeftFraction.Localization.StrictUniversalPropertyFixedTarget.uniqregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 103 (StacksFrontier): “(3) uniqueness of H”.
Tag 05Q2, a lemma
Tag 05Q2 in the Stacks Project.
CategoryTheory.MorphismProperty.Q_preservesFiniteColimits, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/LeftFraction/Commutation.lean, line 53. References: SGA 5 V (2.3.4), “first assertion”.
Stacks 05Q2. For a left multiplicative system
WonC, the localization functorQ : C ⥤ W⁻¹Ccommutes with finite colimits. This does not assert thatW⁻¹Chas finite colimits: only thatQcarries a finite colimit cocone ofCto a colimit cocone.
theorem Q_preservesFiniteColimits
{C : Type*} [Category C] (W : MorphismProperty C) [W.HasLeftCalculusOfFractions] :
Limits.PreservesFiniteColimits W.Q
Tag 05Q3, a lemma
Tag 05Q3 in the Stacks Project.
CategoryTheory.MorphismProperty.exists_leftFraction_lift_of_commSq, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/LeftFraction/LiftSquare.lean, line 116.
Stacks 05Q3. A commutative square in the left localisation
W⁻¹Cbetween images of morphismsf : X ⟶ Yandf' : X' ⟶ Y'ofClifts to a commutative diagram inCinvolving two morphisms inW.
lemma exists_leftFraction_lift_of_commSq
{X Y X' Y' : C} (f : X ⟶ Y) (f' : X' ⟶ Y')
(a : (LeftFraction.Localization.Q W).obj X ⟶ (LeftFraction.Localization.Q W).obj X')
(b : (LeftFraction.Localization.Q W).obj Y ⟶ (LeftFraction.Localization.Q W).obj Y')
(sq : (LeftFraction.Localization.Q W).map f ≫ b =
a ≫ (LeftFraction.Localization.Q W).map f') :
∃ (X'' Y'' : C) (g : X ⟶ X'') (s : X' ⟶ X'') (hs : W s)
(h : Y ⟶ Y'') (t : Y' ⟶ Y'') (ht : W t) (f'' : X'' ⟶ Y''),
f ≫ h = g ≫ f'' ∧ s ≫ f'' = f' ≫ t ∧
a = (LeftFraction.mk g s hs).map (LeftFraction.Localization.Q W)
(Localization.inverts _ _) ∧
b = (LeftFraction.mk h t ht).map (LeftFraction.Localization.Q W)
(Localization.inverts _ _)
Tag 04VH, a lemma
Tag 04VH in the Stacks Project.
CategoryTheory.MorphismProperty.RightFraction.comp_rel_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/RightFraction/Defs.lean, line 174. The attribute's comment: “(2)”. References: SGA 4 VI (6.5), “6.5 c)”.
Stacks 04VH (2). The canonical composition of representatives respects the equivalence relation in both arguments. Combined with
RightFraction.comp_rel_compOfOre, which identifies it with the composition along an arbitrary Ore square, this is well-definedness of composition on the quotient.
theorem RightFraction.comp_rel_comp [W.HasRightCalculusOfFractions] {X Y Z : C}
{φ φ' : W.RightFraction X Y} {ψ ψ' : W.RightFraction Y Z} (hφ : RightFractionRel φ φ')
(hψ : RightFractionRel ψ ψ') :
RightFractionRel (RightFraction.comp W φ ψ) (RightFraction.comp W φ' ψ')
CategoryTheory.MorphismProperty.RightLocalization.category, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/RightFraction/Defs.lean, line 272. The attribute's comment: “(3)”. References: SGA 4 VI (6.5).
Stacks 04VH (3). The objects of the right-fractions model
W⁻¹Care the objects ofC, the hom-sets areRightLocalization.Hom W X Y, identities areRightLocalization.Hom.id W X, and composition isRightLocalization.Hom.comp W. The category axioms areRightLocalization.Hom.id_comp,.comp_idand.assoc.
noncomputable instance RightLocalization.category [W.HasRightCalculusOfFractions] :
Category (RightLocalization W)
Declarations registered for the tag:
CategoryTheory.MorphismProperty.equivalenceRightFractionRelregistered withadd_to_stacksin StacksFrontier/CategoryTheory/Localization/RightFraction/Defs.lean, line 52 (StacksFrontier): “(1)”.
Tag 0BM3, a definition
Tag 0BM3 in the Stacks Project.
RightLocalizationAsFraction.fInvS, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/RightFraction/Morphism.lean, line 69.
Given a morphism
f : X' ⟶ Yand a morphisms : X' ⟶ Xwiths ∈ W(whereWis a right multiplicative system, i.e. has a right calculus of fractions), the morphismf s⁻¹ : X ⟶ Yin the localized categoryS⁻¹C = W.Localization.Concretely, this is the image under
W.Qof the pair(f, s), which represents the equivalence class of(f, s)underRightFractionRel.
noncomputable def fInvS [W.HasRightCalculusOfFractions]
{X Y X' : C} (f : X' ⟶ Y) (s : X' ⟶ X) (hs : W s) :
W.Q.obj X ⟶ W.Q.obj Y
Tag 04VI, a lemma
Tag 04VI in the Stacks Project.
CategoryTheory.Localization.exists_common_rightFraction, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/RightFraction/CommonDenominator.lean, line 169. References: SGA 4½ Etat 0 (2.3.2), “partial”.
Stacks 04VI (common right denominator).
Let
W : MorphismProperty Cadmit a right calculus of fractions. Given a finite family of morphismsg i : W.Q.obj X ⟶ W.Q.obj (Y i)in the localization with common sourceW.Q.obj X, there exist an objectX'ofC, a morphisms : X' ⟶ XinW, and a familyf i : X' ⟶ Y iinCsuch that eachg iis represented by the right fraction(s, f i).
theorem exists_common_rightFraction
(W : MorphismProperty C) [W.HasRightCalculusOfFractions]
{ι : Type*} [Finite ι] {X : C} {Y : ι → C}
(g : ∀ i, W.Q.obj X ⟶ W.Q.obj (Y i)) :
∃ (X' : C) (s : X' ⟶ X) (hs : W s) (f : ∀ i, X' ⟶ Y i),
∀ i, g i = (MorphismProperty.RightFraction.mk s hs (f i)).map
W.Q (Localization.inverts _ W)
Tag 04VJ, a lemma
Tag 04VJ in the Stacks Project.
map_eq_iff_rightFractionRel, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/RightFraction/Equality.lean, line 55.
Stacks 04VJ. For a right multiplicative system
WonCand a localization functorL : C ⥤ DatW, two right fractionsφ ψ : X ⟶ Yhave the same image inDif and only ifRightFractionRel φ ψ, i.e. if and only if they agree after precomposition with a suitable morphism ofW.
theorem map_eq_iff_rightFractionRel {C D : Type*} [Category C] [Category D] (L : C ⥤ D)
{W : MorphismProperty C} [W.HasRightCalculusOfFractions] [L.IsLocalization W]
{X Y : C} (φ ψ : W.RightFraction X Y) :
φ.map L (Localization.inverts _ _) = ψ.map L (Localization.inverts _ _) ↔
RightFractionRel φ ψ
Tag 05Q4, a remark
Tag 05Q4 in the Stacks Project.
CategoryTheory.MorphismProperty.isCofiltered_over, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/LeftFraction/AsColimit.lean, line 66.
Stacks 05Q4, first claim: for a right multiplicative system
WonCand an objectXofC, the categoryS/X = W.Over ⊤ XofW-morphisms toXis cofiltered in the sense of Stacks 04AZ, i.e. its identity diagram is a cofiltered diagram.
theorem isCofiltered_over (X : C) : (𝟭 (W.Over ⊤ X)).IsCofiltered
CategoryTheory.MorphismProperty.isColimitOverHomCocone, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/LeftFraction/AsColimit.lean, line 147. References: SGA 4½ Etat 0 (2.3.2); SGA 5 V (2.3.3), “Hom-set clause”.
Stacks 05Q4, second claim: for a right multiplicative system
WonC, a localization functorL : C ⥤ DofCatWand objectsX,YofC, the morphismsL.obj X ⟶ L.obj YofW⁻¹Care the colimitcolim_{(s : X' ⟶ X) ∈ (S/X)ᵒᵖ} Mor_C(X', Y), in the sense that the tautological coconeoverHomCocone, whose leg atssendsfto the right fractionf s⁻¹, is a colimit cocone. The index category(S/X)ᵒᵖis filtered byisCofiltered_over, so this exhibits the morphisms ofW⁻¹Cas a filtered colimit of morphisms ofC.
noncomputable def isColimitOverHomCocone (X Y : C) : IsColimit (W.overHomCocone L X Y)
Tag 04VK, a lemma
Tag 04VK in the Stacks Project.
Q04VK, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/UniversalProperty.lean, line 64. The attribute's comment: “(1)”. References: SGA 5 V (2.3), “functor p : E → E(S⁻¹)”; SGA 4½ Etat 0 (2.3.1).
The canonical localization functor
Q04VK : 𝓒 ⥤ S⁻¹𝓒(Stacks Tag 04VK (1)). This is the Mathlib functorLeftFraction.Localization.Q.
noncomputable def Q04VK : 𝓒 ⥤ LeftFraction.Localization S
Q_isIso_of_mem, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/UniversalProperty.lean, line 81. The attribute's comment: “(2)”.
Stacks 04VK (2): For any
s ∈ Sthe morphismQ04VK(s)is an isomorphism inS⁻¹𝓒.
theorem Q_isIso_of_mem {X Y : 𝓒} (s : X ⟶ Y) (hs : S s) :
IsIso ((Q04VK S).map s)
exists_unique_lift, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/UniversalProperty.lean, line 92. The attribute's comment: “(3)”. References: SGA 5 V (2.3), “left calc. of fractions”; SGA 4½ Etat 0 (2.3.1), “partial”; SGA 4½ Etat 0 (Problem2), “partial”.
Stacks 04VK (3) — combined statement: for any functor
G : 𝓒 ⥤ 𝓓invertingS, there exists a unique functorH : S⁻¹𝓒 ⥤ 𝓓such thatH ∘ Q04VK = G.
theorem exists_unique_lift (G : 𝓒 ⥤ 𝓓) (hG : S.IsInvertedBy G) :
∃! H : LeftFraction.Localization S ⥤ 𝓓, (Q04VK S) ⋙ H = G
Declarations registered for the tag:
CategoryTheory.Functor.q_isLocalizationregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Stacks04VK.lean, line 10 (StacksFrontier). References: SGA 4½ Etat 0 (2.3.1), “partial”; SGA 4½ Etat 0 (2.3.2), “partial”.
Tag 05Q6, a lemma
Tag 05Q6 in the Stacks Project.
CategoryTheory.MorphismProperty.Q_preservesFiniteLimits, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/RightFraction/Commutation.lean, line 354.
Stacks 05Q6. For a right multiplicative system
WonC, the localization functorQ : C ⥤ W⁻¹Ccommutes with finite limits. This does not assert thatW⁻¹Chas finite limits: only thatQcarries a finite limit cone ofCto a limit cone.
theorem Q_preservesFiniteLimits
{C : Type*} [Category C] (W : MorphismProperty C)
[W.HasRightCalculusOfFractions] :
PreservesFiniteLimits W.Q
Tag 05Q7, a lemma
Tag 05Q7 in the Stacks Project.
CategoryTheory.MorphismProperty.exists_rightFraction_lift_of_commSq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/RightFraction/LiftSquare.lean, line 59.
Stacks 05Q7. Let
W : MorphismProperty Cadmit a right calculus of fractions and letL : C ⥤ Dbe a localization ofCatW. Given morphismsf : X ⟶ Yandf' : X' ⟶ Y'inC, and morphismsa : L.obj X ⟶ L.obj X',b : L.obj Y ⟶ L.obj Y'inDsuch thata ≫ L.map f' = L.map f ≫ b, there exist objectsX'',Y''inC, a morphismf'' : X'' ⟶ Y'', morphismss : X'' ⟶ X,t : Y'' ⟶ YwithW s,W t, and morphismsg : X'' ⟶ X',h : Y'' ⟶ Y'such thats ≫ f = f'' ≫ t,g ≫ f' = f'' ≫ h,L.map s ≫ a = L.map g, andL.map t ≫ b = L.map h.
theorem exists_rightFraction_lift_of_commSq
[L.IsLocalization W] [HasRightCalculusOfFractions W]
{X Y X' Y' : C} (f : X ⟶ Y) (f' : X' ⟶ Y')
(a : L.obj X ⟶ L.obj X') (b : L.obj Y ⟶ L.obj Y')
(sq : a ≫ L.map f' = L.map f ≫ b) :
∃ (X'' Y'' : C) (f'' : X'' ⟶ Y'')
(s : X'' ⟶ X) (_ : W s) (t : Y'' ⟶ Y) (_ : W t)
(g : X'' ⟶ X') (h : Y'' ⟶ Y'),
s ≫ f = f'' ≫ t ∧ g ≫ f' = f'' ≫ h ∧
L.map s ≫ a = L.map g ∧
L.map t ≫ b = L.map h
Tag 04VL, a lemma
Tag 04VL in the Stacks Project.
CategoryTheory.MorphismProperty.leftFractionEquivRightFraction, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/Comparison.lean, line 68. References: SGA 4½ Etat 0 (2.3.1), “partial”.
Stacks 04VL. The category of left fractions
LeftFraction.Localization Wand the category of right fractions(LeftFraction.Localization W.op)ᵒᵖofCat the multiplicative systemWare canonically equivalent. The equivalence is the one induced by the universal property of the localisation: bothLeftFraction.Localization.Q WandrightFractionQ Winvert exactlyW, soLocalization.uniqproduces the canonical comparison, compatible with the two localisation functors (seecompLeftFractionEquivRightFractionFunctor).
noncomputable def leftFractionEquivRightFraction :
LeftFraction.Localization W ≌ (LeftFraction.Localization W.op)ᵒᵖ
CategoryTheory.MorphismProperty.compLeftFractionEquivRightFractionFunctor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/Comparison.lean, line 76.
Stacks 04VL. The canonical equivalence of 04VL is canonical: it is compatible with the two localisation functors out of
C, i.e. it identifies a morphism written as a left fraction with the same morphism written as a right fraction.
noncomputable def compLeftFractionEquivRightFractionFunctor :
LeftFraction.Localization.Q W ⋙ (leftFractionEquivRightFraction W).functor ≅
rightFractionQ W
Tag 05Q8, a definition
Tag 05Q8 in the Stacks Project.
CategoryTheory.MorphismProperty.IsSaturated, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/Saturated/Defs.lean, line 49.
Wis a saturated multiplicative system when it is a multiplicative system — MS1 together with the two Ore conditions MS2 and the two cancellation conditions MS3, i.e. both a left and a right calculus of fractions — and satisfies MS4: for composablef : X ⟶ Y,g : Y ⟶ Z,h : Z ⟶ T, ifW (f ≫ g)andW (g ≫ h)thenW g.
structure IsSaturated (W : MorphismProperty C) : Prop
Tag 05Q9, a lemma
Tag 05Q9 in the Stacks Project.
CategoryTheory.MorphismProperty.invertedClosure_eq_satClosure, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/Saturated/Closure.lean, line 172.
Ŝ = S': a morphism becomes invertible in the localization exactly when it has aW-partner on each side.
theorem invertedClosure_eq_satClosure : W.invertedClosure = W.satClosure
CategoryTheory.MorphismProperty.le_invertedClosure, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/Saturated/Closure.lean, line 180.
W ≤ Ŝ: every morphism ofWis inverted byQ.
theorem le_invertedClosure : W ≤ W.invertedClosure
CategoryTheory.MorphismProperty.isSaturated_invertedClosure, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/Saturated/Closure.lean, line 255.
Ŝis itself a saturated multiplicative system: it has a left and a right calculus of fractions and satisfies MS4.
theorem isSaturated_invertedClosure : IsSaturated W.invertedClosure
CategoryTheory.MorphismProperty.invertedClosure_le_of_isSaturated, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/Saturated/Closure.lean, line 272.
Ŝis the smallest saturated multiplicative system containingW: it is contained in every saturated multiplicative system containingW.
theorem invertedClosure_le_of_isSaturated (W' : MorphismProperty C)
(hW' : IsSaturated W') (hWW' : W ≤ W') : W.invertedClosure ≤ W'
CategoryTheory.MorphismProperty.IsSaturated.invertedClosure_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Localization/Saturated/Closure.lean, line 278.
If
Wis already saturated thenŜ = W.
theorem IsSaturated.invertedClosure_eq (hW : IsSaturated W) :
W.invertedClosure = W
Sources
Section4.28 Formal properties#
Section 4.28 of the Stacks Project, Tag 003D. 2 tags here are carried by 1 declaration of the repository (in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 003E, a definition
Tag 003E in the Stacks Project.
Declarations registered for the tag:
NatTrans.hcompregistered withadd_to_stacksin StacksCore/CategoryTheory/Basic.lean, line 89 (StacksCore).
Tag 003F, a lemma
Tag 003F in the Stacks Project.
CategoryTheory.NatTrans.horiz_vert_interchange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Bicategory/InterchangeLaw.lean, line 56.
Stacks 003F (interchange law). The horizontal (
◫) and vertical (≫) compositions of natural transformations satisfy(t ≫ t') ◫ (s ≫ s') = (t ◫ s) ≫ (t' ◫ s').
theorem horiz_vert_interchange
{A : Type u₁} {B : Type u₂} {C : Type u₃}
[Category.{v₁} A] [Category.{v₂} B] [Category.{v₃} C]
{F F' F'' : A ⥤ B} {G G' G'' : B ⥤ C}
(t : F ⟶ F') (t' : F' ⟶ F'')
(s : G ⟶ G') (s' : G' ⟶ G'') :
(t ≫ t') ◫ (s ≫ s') = (t ◫ s) ≫ (t' ◫ s')
Sources
Section4.29 2-categories#
Section 4.29 of the Stacks Project, Tag 003G. 3 tags here are carried by 7 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 003H, a definition
Tag 003H in the Stacks Project.
Declarations registered for the tag:
Bicategory.Strictregistered withadd_to_stacksin StacksCore/CategoryTheory/Bicategory.lean, line 15 (StacksCore).
Tag 003L, a definition
Tag 003L in the Stacks Project.
Declarations registered for the tag:
Bicategory.Equivalenceregistered withadd_to_stacksin StacksCore/CategoryTheory/Bicategory.lean, line 17 (StacksCore): “An adjoint equivalence in a bicategory, denotedX ≌ Y.”.Bicategory.Equivalence.mkOfAdjointifyCounitregistered withadd_to_stacksin StacksCore/CategoryTheory/Bicategory.lean, line 18 (StacksCore): “A constructor for adjoint equivalences from the data of plain equivalences.”.
Tag 003N, a definition
Tag 003N in the Stacks Project.
Declarations registered for the tag:
Pseudofunctorregistered withadd_to_stacksin StacksCore/CategoryTheory/Bicategory.lean, line 21 (StacksCore): “Pseudofunctors between bicategories.”.StrictBicategory.categoryregistered withadd_to_stacksin StacksCore/CategoryTheory/Bicategory.lean, line 22 (StacksCore): “The instance giving every strict bicategory the structure of a category. A functor from a category to a bicategory in the sense of this stacks tag is simply a functor with respect to this instance.”.LocallyDiscreteregistered withadd_to_stacksin StacksCore/CategoryTheory/Bicategory.lean, line 25 (StacksCore): “Type synonym for the locally discrete 2-category corresponding to a category. A pseudofunctor from a category to a bicategory in the sense of this stacks tag is simply a pseudofunctor out of this type synonym.”.LocallyDiscrete.mkPseudofunctorregistered withadd_to_stacksin StacksCore/CategoryTheory/Bicategory.lean, line 28 (StacksCore): “A constructor for pseudofunctors out of a 1-category.”.
Sources
Section4.30 (2, 1)-categories#
Section 4.30 of the Stacks Project, Tag 02X8. 3 tags here are carried by 5 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 003I, a definition
Tag 003I in the Stacks Project.
CategoryTheory.Bicategory.IsTwoOneCategory, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Bicategory/TwoOneCategory.lean, line 57.
A (strict)
(2,1)-category is a2-category — that is, a strict bicategory — in which every2-morphism is an isomorphism, the latter spelled as Mathlib'sBicategory.IsLocallyGroupoid, i.e. each hom-categorya ⟶ bis a groupoid.
def IsTwoOneCategory (B : Type u) [Bicategory.{w, v} B] : Prop
Tag 003K, an example
Tag 003K in the Stacks Project.
CategoryTheory.Bicategory.isTwoOneCategory_pith_cat, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Bicategory/Cat.lean, line 75.
Stacks 003K. The
2-categoryCatof categories, functors and morphisms of functors (Stacks 003J) becomes a(2,1)-category once only the isomorphisms of functors are allowed as2-morphisms. The resulting2-category isBicategory.Pith Cat; that its2-morphisms are precisely the isomorphisms of functors isPith.homEquivIso.
lemma isTwoOneCategory_pith_cat : IsTwoOneCategory (Pith Cat.{v, u})
Tag 003M, a remark
Tag 003M in the Stacks Project.
CategoryTheory.isTwoOneCategory_pith_catGroupoids, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Bicategory/CatVariants.lean, line 96. The attribute's comment: “the 2-category of groupoids”.
Stacks 003M, the variant for groupoids: the
2-category of groupoids becomes a(2,1)-category once only the isomorphisms of functors are allowed as2-morphisms.
lemma isTwoOneCategory_pith_catGroupoids :
IsTwoOneCategory (Pith CatGroupoids.{v₁, u₁})
CategoryTheory.isTwoOneCategory_pith_catFiberedInGroupoids, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Bicategory/CatVariants.lean, line 104. The attribute's comment: “the 2-category of categories fibred in groupoids over a fixed category”.
Stacks 003M, the variant for categories fibred in groupoids over a fixed category: the
2-category of categories fibred in groupoids over𝒞(Stacks 02XS) becomes a(2,1)-category once only the isomorphisms of2-morphisms are kept.
lemma isTwoOneCategory_pith_catFiberedInGroupoids (𝒞 : Type u₁) [Category.{v₁} 𝒞] :
IsTwoOneCategory (Pith (CatFiberedInGroupoids.{v₁, v₂, u₁, u₂} 𝒞))
CategoryTheory.isTwoOneCategory_pith_basedStack, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Bicategory/CatVariants.lean, line 111. The attribute's comment: “the 2-category of stacks”.
Stacks 003M, the variant for stacks: the
2-category of stacks over a site (Stacks 02ZG) becomes a(2,1)-category once only the isomorphisms of2-morphisms are kept.
lemma isTwoOneCategory_pith_basedStack (𝒞 : Type u₁) [Category.{v₁} 𝒞]
(J : GrothendieckTopology 𝒞) :
IsTwoOneCategory (Pith (BasedStack.{v₁, v₂, u₁, u₂} 𝒞 J))
Sources
Section4.31 2-fibre products#
Section 4.31 of the Stacks Project, Tag 003O. 15 tags here are carried by 28 declarations of the repository (all in StacksFrontier) and 3 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 003O, the section
Tag 003O in the Stacks Project.
CategoryTheory.Bicategory.TwoCommSq, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/Defs.lean, line 96.
A 2-commutative cone over the cospan
(f, g): an objectpttogether with 1-morphismsfst : pt ⟶ x,snd : pt ⟶ yand an invertible 2-morphismiso : fst ≫ f ≅ snd ≫ gfilling the square.Stacks 003O. These are the objects of the category of 2-commutative diagrams over the cospan
(f, g).
structure TwoCommSq (f : x ⟶ z) (g : y ⟶ z)
CategoryTheory.Bicategory.TwoCommSq.PreHom, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/Defs.lean, line 117.
A pre-morphism of cones
T ⟶ S: a 1-morphismhom : T.pt ⟶ S.pttogether with invertible comparison 2-cellsisoFst : T.fst ≅ hom ≫ S.fst,isoSnd : T.snd ≅ hom ≫ S.sndsubject to the Stacks 003O compatibility square.Stacks 003O. These are the morphisms of the category of 2-commutative diagrams, before passing to classes modulo the 2-cell equivalence
TwoCommSq.PreHom.Rel.
structure TwoCommSq.PreHom (T S : TwoCommSq f g)
CategoryTheory.Bicategory.TwoCommSq.category, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/Defs.lean, line 247.
Stacks 003O. The category of 2-commutative diagrams over the cospan
(f, g): objects are the 2-commutative squares, and morphisms are pre-morphisms modulo the 2-cell equivalence, which is what makes composition strictly associative and unital.
instance TwoCommSq.category : Category (TwoCommSq f g)
Tag 003P, a definition
Tag 003P in the Stacks Project.
CategoryTheory.Bicategory.IsBiterminal, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Bicategory/TwoOneCategory.lean, line 67.
A final object of a
(2,1)-categoryB, defined as an objectTsuch that every hom-categoryX ⟶ Thas a terminal object. In a locally groupoidalBthis says that every object admits a1-morphism toT, and any two such are isomorphic by a unique2-morphism (CategoryTheory.Bicategory.isBiterminal_iff).
def IsBiterminal (T : B) : Prop
Tag 003Q, a definition
Tag 003Q in the Stacks Project.
CategoryTheory.Bicategory.IsTwoFibreProduct, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/Defs.lean, line 270.
Stacks 003Q. A 2-commutative square
Pover(f, g)is a 2-fibre product offandgwhen it is a terminal (final) object of the categoryTwoCommSq f gof 2-commutative diagrams. Itsfst,sndandisofields are the projectionsp,qand the invertibleψ : f ∘ p ⟶ g ∘ qof the source.
abbrev IsTwoFibreProduct (P : TwoCommSq f g) : Type _
Tag 003R, an example
Tag 003R in the Stacks Project.
Declarations registered for the tag:
CategoryTheory.Limits.CategoricalPullbackregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 64 (StacksFrontier): “objects: triples (A, B, f)”.CategoryTheory.Limits.CategoricalPullback.instCategoryregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 65 (StacksFrontier): “morphisms: compatible pairs (a, b)”.CategoryTheory.Limits.CategoricalPullback.catCommSqregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 67 (StacksFrontier): “projections and the transformation ψ”.
Tag 02X9, a lemma
Tag 02X9 in the Stacks Project.
CategoryTheory.Cat.isTwoFibreProduct_categoricalPullbackSq, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/CatCategoricalPullback.lean, line 214. The attribute's comment: “the explicit construction is a 2-fibre product in the sense of Stacks 003Q”.
The explicit 2-fibre product of two functors is a 2-fibre product of them in the bicategory of categories: it is a terminal object of the category of 2-commutative squares over the cospan.
def isTwoFibreProduct_categoricalPullbackSq (F : A ⟶ C) (G : B ⟶ C) :
IsTwoFibreProduct (categoricalPullbackSq F G)
Tag 06RL, a remark
Tag 06RL in the Stacks Project.
CategoryTheory.Limits.CategoricalPullback.Quintuple, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/SymmetricModel.lean, line 39.
Stacks 06RL. The symmetric model of the 2-fibre product
𝒜 ×_𝒞 ℬ: an object is a quintuple(A, B, C, a, b)withA : 𝒜,B : ℬ,C : 𝒞and isomorphismsa : F A ≅ C,b : G B ≅ C.
structure Quintuple
CategoryTheory.Limits.CategoricalPullback.Quintuple.toCategoricalPullback, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/SymmetricModel.lean, line 90.
Stacks 06RL. The comparison functor from the symmetric model to the standard 2-fibre product: on objects it sends
(A, B, C, a, b)to(A, B, a ≪≫ b.symm), whose structural morphism isb⁻¹ ∘ a, and on morphisms it sends(f, g, h)to(f, g).
def toCategoricalPullback : Quintuple F G ⥤ CategoricalPullback F G
CategoryTheory.Limits.CategoricalPullback.Quintuple.isEquivalence_toCategoricalPullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/SymmetricModel.lean, line 165.
Stacks 06RL. The comparison functor from the symmetric quintuple model of the 2-fibre product to the standard model
CategoricalPullback F Gis an equivalence of categories.
theorem isEquivalence_toCategoricalPullback :
(toCategoricalPullback (F := F) (G := G)).IsEquivalence
Tag 02XA, a lemma
Tag 02XA in the Stacks Project.
CategoryTheory.Limits.CategoricalPullback.map, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/Functoriality.lean, line 43.
The functor
𝒳 ×_𝒵 𝒴 ⥤ 𝒜 ×_𝒞 ℬinduced by a 2-commutative diagram between the two cospans: on objects it sends(x, y, φ)to(L x, K y, α_y⁻¹ ∘ M(φ) ∘ β_x⁻¹), and on morphisms it appliesLandKcomponentwise.
def CategoricalPullback.map (H : 𝒳 ⥤ 𝒵) (I : 𝒴 ⥤ 𝒵)
(L : 𝒳 ⥤ 𝒜) (K : 𝒴 ⥤ ℬ) (M : 𝒵 ⥤ 𝒞) (F : 𝒜 ⥤ 𝒞) (G : ℬ ⥤ 𝒞)
(α : K ⋙ G ≅ I ⋙ M) (β : H ⋙ M ≅ L ⋙ F) :
CategoricalPullback H I ⥤ CategoricalPullback F G
Tag 02XB, a lemma
Tag 02XB in the Stacks Project.
CategoryTheory.induced_faithful_of_faithful, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/InducedFunctor.lean, line 174. The attribute's comment: “(1)”.
Stacks 02XB (1) — If
KandLare faithful, then the induced functor𝒳 ×_𝒵 𝒴 ⥤ 𝒜 ×_𝒞 ℬis faithful.
theorem induced_faithful_of_faithful [K.Faithful] [L.Faithful] :
(CategoricalPullback.map H I L K M F G α β).Faithful
CategoryTheory.induced_fullyFaithful_of_fullyFaithful, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/InducedFunctor.lean, line 183. The attribute's comment: “(2)”. References: SGA 1 VI (4.1).
Stacks 02XB (2) — If
KandLare fully faithful andMis faithful, then the induced functor𝒳 ×_𝒵 𝒴 ⥤ 𝒜 ×_𝒞 ℬis fully faithful.
theorem induced_fullyFaithful_of_fullyFaithful
[K.Faithful] [K.Full] [L.Faithful] [L.Full] [M.Faithful] :
(CategoricalPullback.map H I L K M F G α β).Faithful ∧
(CategoricalPullback.map H I L K M F G α β).Full
CategoryTheory.induced_isEquivalence_of_isEquivalence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/InducedFunctor.lean, line 201. The attribute's comment: “(3)”.
Stacks 02XB (3) — If
KandLare equivalences andMis fully faithful, then the induced functor𝒳 ×_𝒵 𝒴 ⥤ 𝒜 ×_𝒞 ℬis an equivalence of categories.
theorem induced_isEquivalence_of_isEquivalence
[K.IsEquivalence] [L.IsEquivalence] [M.Faithful] [M.Full] :
(CategoricalPullback.map H I L K M F G α β).IsEquivalence
Tag 02XC, a lemma
Tag 02XC in the Stacks Project.
CategoryTheory.Limits.CategoricalPullback.assocFunctor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/Associativity.lean, line 33.
Stacks 02XC. The canonical comparison functor
(𝒜 ×_ℬ 𝒞) ×_𝒟 ℰ ⥤ 𝒜 ×_ℬ (𝒞 ×_𝒟 ℰ), rebracketing((A, C, φ), E, ψ) ↦ (A, (C, E, ψ), φ).
def CategoricalPullback.assocFunctor
(H : 𝒜 ⥤ ℬ) (K : 𝒞 ⥤ ℬ) (L : 𝒞 ⥤ 𝒟) (M : ℰ ⥤ 𝒟) :
CategoricalPullback (CategoricalPullback.π₂ H K ⋙ L) M ⥤
CategoricalPullback H (CategoricalPullback.π₁ L M ⋙ K)
CategoryTheory.Limits.CategoricalPullback.assoc, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/Associativity.lean, line 58.
Stacks 02XC. Associativity of 2-fibre products of categories: for
H : 𝒜 ⥤ ℬ,K : 𝒞 ⥤ ℬ,L : 𝒞 ⥤ 𝒟andM : ℰ ⥤ 𝒟the two iterated 2-fibre products are canonically equivalent,(𝒜 ×_ℬ 𝒞) ×_𝒟 ℰ ≌ 𝒜 ×_ℬ (𝒞 ×_𝒟 ℰ), viaCategoricalPullback.assocFunctor.
def CategoricalPullback.assoc
(H : 𝒜 ⥤ ℬ) (K : 𝒞 ⥤ ℬ) (L : 𝒞 ⥤ 𝒟) (M : ℰ ⥤ 𝒟) :
CategoricalPullback (CategoricalPullback.π₂ H K ⋙ L) M ≌
CategoricalPullback H (CategoricalPullback.π₁ L M ⋙ K)
Tag 04S7, a lemma
Tag 04S7 in the Stacks Project.
CategoryTheory.Limits.CategoricalPullback.pr₀₂, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/TripleProjection.lean, line 91.
Stacks 04S7. For a commuting inner square
G ⋙ P = H ⋙ Qunder the diagram𝒜 → ℬ ← 𝒞 → 𝒟 ← ℰ, the canonical functor(𝒜 ×_ℬ 𝒞) ×_𝒟 ℰ ⥤ 𝒜 ×_ℱ ℰwhich forgets the middle factor and transports the two structural isomorphisms intoℱ.
def CategoricalPullback.pr₀₂ (h : G ⋙ P = H ⋙ Q) :
CategoricalPullback (CategoricalPullback.π₂ F G ⋙ H) I ⥤
CategoricalPullback (F ⋙ P) (I ⋙ Q)
Tag 02XD, a lemma
Tag 02XD in the Stacks Project.
CategoryTheory.Limits.CategoricalPullback.assocComp, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/Cancellation.lean, line 107.
Stacks 02XD. The canonical equivalence of categories
(A ×_B C) ×_C D ≌ A ×_B DforA --F--> B <--G-- C <--H-- D, i.e.CategoricalPullback (π₂ F G) H ≌ CategoricalPullback F (H ⋙ G), given byassocCompFunctor.
def assocComp :
CategoricalPullback (π₂ F G) H ≌ CategoricalPullback F (H ⋙ G)
Tag 02XE, a lemma
Tag 02XE in the Stacks Project.
CategoryTheory.Limits.CategoricalPullback.prodDiagFunctor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/Diagonal.lean, line 58.
Stacks 02XE. The canonical comparison functor
CategoricalPullback (G₁.prod G₂) (Functor.diag S) ⥤ CategoricalPullback G₁ G₂. On objects it sends((X₁, X₂), Y, φ)to(X₁, X₂, φ₁ ≪≫ φ₂⁻¹), whereφ = (φ₁, φ₂); on morphisms it acts as the identity on the underlying pair of component morphisms.
def prodDiagFunctor (G₁ : C₁ ⥤ S) (G₂ : C₂ ⥤ S) :
CategoricalPullback (G₁.prod G₂) (Functor.diag S) ⥤ CategoricalPullback G₁ G₂
CategoryTheory.Limits.CategoricalPullback.isEquivalence_prodDiagFunctor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/Diagonal.lean, line 165.
Stacks 02XE. The canonical comparison functor
prodDiagFunctoris an equivalence of categories: the 2-fibre product ofG₁ × G₂ : C₁ × C₂ ⥤ S × Sand the diagonalΔ : S ⥤ S × Sis canonically equivalent toC₁ ×_S C₂.
theorem isEquivalence_prodDiagFunctor (G₁ : C₁ ⥤ S) (G₂ : C₂ ⥤ S) :
(prodDiagFunctor G₁ G₂).IsEquivalence
CategoryTheory.Limits.CategoricalPullback.prodDiagEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/Diagonal.lean, line 174.
Stacks 02XE. The canonical equivalence of categories
CategoricalPullback (G₁.prod G₂) (Functor.diag S) ≌ CategoricalPullback G₁ G₂, induced byprodDiagFunctor.
noncomputable def prodDiagEquiv (G₁ : C₁ ⥤ S) (G₂ : C₂ ⥤ S) :
CategoricalPullback (G₁.prod G₂) (Functor.diag S) ≌ CategoricalPullback G₁ G₂
Tag 02XF, a lemma
Tag 02XF in the Stacks Project.
CategoryTheory.Limits.CategoricalPullback.diagComparison, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/IteratedDiagonal.lean, line 98.
Stacks 02XF. The comparison functor
(𝒞 ×_𝒮 𝒞) ×_{𝒞 × 𝒞} 𝒞 ⥤ 𝒞 ×_{𝒮 × 𝒮} 𝒮. On objects it sends((c₁, c₂, φ), c₃, ψ)to(c₃, G₁ c₁, (G₁ ψ₁⁻¹, φ⁻¹ ∘ G₂ ψ₂⁻¹)), and on morphisms((α₁, α₂), α₃)to(α₃, G₁ α₁).
def diagComparison : diagComparisonSource G₁ G₂ ⥤ diagComparisonTarget G₁ G₂
CategoryTheory.Limits.CategoricalPullback.isEquivalence_diagComparison, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/IteratedDiagonal.lean, line 234.
Stacks 02XF. The comparison functor
(𝒞 ×_𝒮 𝒞) ×_{𝒞 × 𝒞} 𝒞 ⥤ 𝒞 ×_{𝒮 × 𝒮} 𝒮is an equivalence of categories. (The source asserts an isomorphism of categories; that is corrected to an equivalence per the Stacks comments #5394 and #5627, since the functor is in general not bijective on objects.)
theorem isEquivalence_diagComparison : (diagComparison G₁ G₂).IsEquivalence
Tag 04Z1, a lemma
Tag 04Z1 in the Stacks Project.
CategoryTheory.Limits.CategoricalPullback.relativeDiagonalSquareIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/AsPullback.lean, line 89.
Stacks 04Z1. The natural isomorphism
σ : Θ ⋙ ρ ≅ π ⋙ Δ_{C/D}witnessing that the square 2-commutes; its component at(a, b, f)is(𝟙_{F a}, f⁻¹).
def relativeDiagonalSquareIso :
(mapBase F G H ⋙ toRelativeDiagonalTarget F G H) ≅ (toBase F G ⋙ relativeDiagonal H)
CategoryTheory.Limits.CategoricalPullback.toRelativeDiagonalPullback, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/AsPullback.lean, line 108.
Stacks 04Z1. The functor
A ×_C B ⥤ (A ×_D B) ×_{C ×_D C} Cinduced by(Θ, π, σ)into the explicit 2-fibre product of the cospanA ×_D B --ρ--> C ×_D C <--Δ_{C/D}-- C. On objects it sends(a, b, f)to((a, b, H f), F a, (𝟙_{F a}, f⁻¹)), and a morphism(x, y)to((x, y), F x).
def toRelativeDiagonalPullback :
CategoricalPullback F G ⥤
CategoricalPullback (toRelativeDiagonalTarget F G H) (relativeDiagonal H)
CategoryTheory.Limits.CategoricalPullback.isEquivalence_toRelativeDiagonalPullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/AsPullback.lean, line 179.
Stacks 04Z1. The square above is a 2-fibre product diagram: the induced functor
A ×_C B ⥤ (A ×_D B) ×_{C ×_D C} Cis an equivalence of categories.
theorem isEquivalence_toRelativeDiagonalPullback :
(toRelativeDiagonalPullback F G H).IsEquivalence
Tag 04YR, a lemma
Tag 04YR in the Stacks Project.
CategoryTheory.Limits.CategoricalPullback.baseChangeDiagonalSquareIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/DiagonalBaseChange.lean, line 104.
Stacks 04YR. The structural 2-cell
r ⋙ Δ_{X/Y} ≅ Δ_{U/V} ⋙ (r × r)of the base-change square for the diagonal. Both composites have both projections equal tor = π₁ h s, so the 2-cell is the canonical one with identity projections.
def baseChangeDiagonalSquareIso :
(π₁ h s ⋙ relativeDiagonal h) ≅ (relativeDiagonal (π₂ h s) ⋙ mapDiag h s)
CategoryTheory.Limits.CategoricalPullback.baseChangeDiagonalSquare, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/DiagonalBaseChange.lean, line 126.
Stacks 04YR. The base-change square for the diagonal, over
U = h ⊡ s: its legs arer = π₁ h s : U ⥤ XandΔ_{U/V} = relativeDiagonal (π₂ h s) : U ⥤ U ×_V U, its cospan isΔ_{X/Y} = relativeDiagonal h : X ⥤ X ×_Y Xandr × r = mapDiag h s, and its structural 2-cell isbaseChangeDiagonalSquareIso.
def baseChangeDiagonalSquare :
CatCommSqOver (relativeDiagonal h) (mapDiag h s) (h ⊡ s)
CategoryTheory.Limits.CategoricalPullback.isEquivalence_baseChangeDiagonalComparison, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/DiagonalBaseChange.lean, line 402.
Stacks 04YR. The diagonal is stable under base change: for
h : X ⥤ Yands : V ⥤ Y, withU = X ×_Y V,r = π₁ h sandg = π₂ h s, the squareΔ_{U/V} : U ⥤ U ×_V U,r : U ⥤ XoverΔ_{X/Y} : X ⥤ X ×_Y X,r × r : U ×_V U ⥤ X ×_Y Xis 2-cartesian, i.e. its comparison functorU ⥤ Δ_{X/Y} ⊡ (r × r)is an equivalence of categories. The quasi-inverse isbaseChangeDiagonalInverse, the unit is an identity bybaseChangeDiagonalComparison_comp_inverse, and the counit isbaseChangeDiagonalCounitIso.
theorem isEquivalence_baseChangeDiagonalComparison :
Functor.IsEquivalence (comparison (relativeDiagonal h) (mapDiag h s)
(baseChangeDiagonalSquare h s))
Sources
Section4.32 Categories over categories#
Section 4.32 of the Stacks Project, Tag 02XG. 4 tags here are carried by 21 declarations of the repository (all in StacksFrontier) and 8 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 003Y, a definition
Tag 003Y in the Stacks Project.
Declarations registered for the tag:
CategoryTheory.BasedCategoryregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 70 (StacksFrontier): “objects: functors p : S → C”.CategoryTheory.BasedFunctorregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 71 (StacksFrontier): “1-morphisms: functors G with p' ∘ G = p”.CategoryTheory.BasedNatTransregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 72 (StacksFrontier): “2-morphisms”.CategoryTheory.BasedNatTrans.homCategoryregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 73 (StacksFrontier): “the category Mor_{Cat/C}(S, S')”. References: SGA 4 VI (6.0).CategoryTheory.BasedCategory.bicategoryregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 74 (StacksFrontier): “the 2-category structure”.
Tag 02XH, a definition
Tag 02XH in the Stacks Project.
Declarations registered for the tag:
CategoryTheory.Functor.Fiberregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 34 (StacksFrontier): “(1) objects of the fibre category, (2) lifts of an object”. References: SGA 4 V (8.1.0), “partial”; SGA 4 VI (6.1.1).CategoryTheory.Functor.Fiber.fiberCategoryregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 38 (StacksFrontier): “(1) morphisms of the fibre category”. References: SGA 4 V (8.1.0); SGA 4 VI (6.1.1).CategoryTheory.Functor.IsHomLiftregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 41 (StacksFrontier): “(3) lift of a morphism”.
Tag 0040, a lemma
Tag 0040 in the Stacks Project.
CategoryTheory.TwoFibreProductOver.fibreIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/OverBase.lean, line 77.
Clause (1) of Stacks 0040: the comparison isomorphism
φof an object(U, x, y, φ)is an isomorphismF x ≅ G yin the fibre category𝒮_U. BothF xandG ylie overUbecauseFandGare 1-morphisms over𝒞, andφis vertical by construction.
def fibreIso (hF : F ⋙ p𝒮 = p𝒳) (hG : G ⋙ p𝒮 = p𝒴) (P : TwoFibreProductOver p𝒳 p𝒴 p𝒮 F G) :
Functor.Fiber.mk (obj_over_base_x p𝒳 p𝒴 p𝒮 F G hF P) ≅
Functor.Fiber.mk (obj_over_base_y p𝒳 p𝒴 p𝒮 F G hG P)
CategoryTheory.TwoFibreProductOver.lift, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/OverBase.lean, line 96.
The mediating 1-morphism
γ : W ⥤ 𝒳 ×_𝒮 𝒴of Stacks 0040, sendingwto the quadruple(pW w, H w, K w, t w). ThatHandKare 1-morphisms over𝒞is what makes the two components ofγ hlie over the common base morphismpW h, and the comparison square is the naturality oft.
def lift : W ⥤ TwoFibreProductOver p𝒳 p𝒴 p𝒮 F G
CategoryTheory.TwoFibreProductOver.lift_comp_structureFunctor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/OverBase.lean, line 151.
The mediating 1-morphism is a 1-morphism of categories over
𝒞: it sendswto an object lying overpW w, and a morphism to one lying overpW h.
theorem lift_comp_structureFunctor :
lift p𝒳 p𝒴 p𝒮 F G pW H K hH hK t ht ⋙ structureFunctor p𝒳 p𝒴 p𝒮 F G = pW
CategoryTheory.TwoFibreProductOver.liftCompFst_hom_app_isHomLift, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/OverBase.lean, line 168.
The first comparison isomorphism is a 2-morphism over
𝒞: its components are vertical.
theorem liftCompFst_hom_app_isHomLift (w : W) :
p𝒳.IsHomLift (𝟙 (pW.obj w)) ((liftCompFst p𝒳 p𝒴 p𝒮 F G pW H K hH hK t ht).hom.app w)
CategoryTheory.TwoFibreProductOver.liftCompSnd_hom_app_isHomLift, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/OverBase.lean, line 174.
The second comparison isomorphism is a 2-morphism over
𝒞: its components are vertical.
theorem liftCompSnd_hom_app_isHomLift (w : W) :
p𝒴.IsHomLift (𝟙 (pW.obj w)) ((liftCompSnd p𝒳 p𝒴 p𝒮 F G pW H K hH hK t ht).hom.app w)
CategoryTheory.TwoFibreProductOver.lift_whiskerRight_psi, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/OverBase.lean, line 183.
The factorisation is compatible with the given isomorphism
t: whiskering the 2-cellψintoγand correcting by the two comparison isomorphisms recoverst. This is the commuting square of 2-morphisms which makesγa factorisation of the test cone(H, K, t), rather than merely a 1-morphism with the right two projections.
theorem lift_whiskerRight_psi :
Functor.whiskerRight (liftCompFst p𝒳 p𝒴 p𝒮 F G pW H K hH hK t ht).hom F ≫ t.hom =
Functor.whiskerLeft (lift p𝒳 p𝒴 p𝒮 F G pW H K hH hK t ht) (psiIso p𝒳 p𝒴 p𝒮 F G).hom ≫
Functor.whiskerRight (liftCompSnd p𝒳 p𝒴 p𝒮 F G pW H K hH hK t ht).hom G
CategoryTheory.TwoFibreProductOver.natTrans_ext, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/OverBase.lean, line 213.
Two 2-morphisms into the 2-fibre product that agree after projecting to
𝒳and to𝒴are equal, so the mediating 2-morphism supplied byliftIsois the only one.
theorem natTrans_ext {γ δ : W ⥤ TwoFibreProductOver p𝒳 p𝒴 p𝒮 F G} {α β : γ ⟶ δ}
(h₁ : Functor.whiskerRight α (fst p𝒳 p𝒴 p𝒮 F G) =
Functor.whiskerRight β (fst p𝒳 p𝒴 p𝒮 F G))
(h₂ : Functor.whiskerRight α (snd p𝒳 p𝒴 p𝒮 F G) =
Functor.whiskerRight β (snd p𝒳 p𝒴 p𝒮 F G)) : α = β
CategoryTheory.TwoFibreProductOver.liftIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/OverBase.lean, line 230.
Any other factorisation of the test cone
(H, K, t)through the 2-fibre product is 2-isomorphic over𝒞to the mediating 1-morphismlift. Together withnatTrans_extthis is the uniqueness half of the 2-universal property: the factorisation is unique up to a unique 2-isomorphism over𝒞.
noncomputable def liftIso (γ : W ⥤ TwoFibreProductOver p𝒳 p𝒴 p𝒮 F G)
(a : γ ⋙ fst p𝒳 p𝒴 p𝒮 F G ≅ H) (b : γ ⋙ snd p𝒳 p𝒴 p𝒮 F G ≅ K)
(ha : ∀ w, p𝒳.IsHomLift (𝟙 (pW.obj w)) (a.hom.app w))
(hb : ∀ w, p𝒴.IsHomLift (𝟙 (pW.obj w)) (b.hom.app w))
(hab : Functor.whiskerRight a.hom F ≫ t.hom =
Functor.whiskerLeft γ (psiIso p𝒳 p𝒴 p𝒮 F G).hom ≫ Functor.whiskerRight b.hom G)
(hH : H ⋙ p𝒳 = pW) (hK : K ⋙ p𝒴 = pW)
(ht : ∀ w, p𝒮.IsHomLift (𝟙 (pW.obj w)) (t.hom.app w)) :
γ ≅ lift p𝒳 p𝒴 p𝒮 F G pW H K hH hK t ht
CategoryTheory.TwoFibreProductOver.fst_comp_eq, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProductOver.lean, line 207.
The first projection is strictly over
𝒞.
lemma fst_comp_eq : fst p𝒳 p𝒴 p𝒮 F G ⋙ p𝒳 = structureFunctor p𝒳 p𝒴 p𝒮 F G
CategoryTheory.TwoFibreProductOver.snd_comp_eq, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProductOver.lean, line 214.
The second projection is strictly over
𝒞.
lemma snd_comp_eq : snd p𝒳 p𝒴 p𝒮 F G ⋙ p𝒴 = structureFunctor p𝒳 p𝒴 p𝒮 F G
CategoryTheory.TwoFibreProductOver.psiIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProductOver.lean, line 222.
The 2-cell
ψ : π₁ ⋙ F ≅ π₂ ⋙ Gfilling the square, with component at(U, x, y, φ)the comparison isomorphismφitself.
def psiIso (p𝒳 : 𝒳 ⥤ 𝒞) (p𝒴 : 𝒴 ⥤ 𝒞) (p𝒮 : 𝒮 ⥤ 𝒞) (F : 𝒳 ⥤ 𝒮) (G : 𝒴 ⥤ 𝒮) :
(fst p𝒳 p𝒴 p𝒮 F G ⋙ F) ≅ (snd p𝒳 p𝒴 p𝒮 F G ⋙ G)
CategoryTheory.TwoFibreProductOver.psiIso_hom_vertical, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProductOver.lean, line 237.
Every component of the 2-cell
ψis vertical over𝒞: it lies over an identity.
lemma psiIso_hom_vertical (P : TwoFibreProductOver p𝒳 p𝒴 p𝒮 F G) :
p𝒮.IsHomLift (𝟙 P.base) ((psiIso p𝒳 p𝒴 p𝒮 F G).hom.app P)
Tag 02XI, a lemma
Tag 02XI in the Stacks Project.
CategoryTheory.Limits.CategoricalPullbackOver.toFiberPullback, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/Fibres.lean, line 295.
Stacks 02XI. The canonical functor
(X ×_S Y)_U ⥤ X_U ×_{S_U} Y_U, sending(U, x, y, f)to(x, y, f)and(a, b)to(a, b).
def toFiberPullback (hf : F ⋙ pS = pX) (hg : G ⋙ pS = pY) (U : C) :
(CategoricalPullbackOver.structureFunctor (pX := pX) (pY := pY) (pS := pS) (F := F)
(G := G)).Fiber U ⥤
CategoricalPullback (Functor.fiberMap pX pS F hf U) (Functor.fiberMap pY pS G hg U)
CategoryTheory.Limits.CategoricalPullbackOver.ofFiberPullback, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/Fibres.lean, line 317.
Stacks 02XI. The canonical functor
X_U ×_{S_U} Y_U ⥤ (X ×_S Y)_Uinverse totoFiberPullback, sending(x, y, f)to(U, x, y, f)and(a, b)to(a, b).
def ofFiberPullback (hf : F ⋙ pS = pX) (hg : G ⋙ pS = pY) (U : C) :
CategoricalPullback (Functor.fiberMap pX pS F hf U) (Functor.fiberMap pY pS G hg U) ⥤
(CategoricalPullbackOver.structureFunctor (pX := pX) (pY := pY) (pS := pS) (F := F)
(G := G)).Fiber U
CategoryTheory.Limits.CategoricalPullbackOver.toFiberPullback_comp_ofFiberPullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/Fibres.lean, line 425.
Stacks 02XI. Composing the comparison functor with its inverse gives the identity on the fibre
(X ×_S Y)_U.
theorem toFiberPullback_comp_ofFiberPullback (hf : F ⋙ pS = pX) (hg : G ⋙ pS = pY) (U : C) :
toFiberPullback pX pY pS F G hf hg U ⋙ ofFiberPullback pX pY pS F G hf hg U = 𝟭 _
CategoryTheory.Limits.CategoricalPullbackOver.ofFiberPullback_comp_toFiberPullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/Fibres.lean, line 439.
Stacks 02XI. Composing the inverse comparison functor with the comparison functor gives the identity on
X_U ×_{S_U} Y_U. Together withtoFiberPullback_comp_ofFiberPullbackthis says the fibre of the 2-fibre product overCatUis isomorphic, not merely equivalent, to the 2-fibre product of the fibres.
theorem ofFiberPullback_comp_toFiberPullback (hf : F ⋙ pS = pX) (hg : G ⋙ pS = pY) (U : C) :
ofFiberPullback pX pY pS F G hf hg U ⋙ toFiberPullback pX pY pS F G hf hg U = 𝟭 _
CategoryTheory.TwoFibreProductOver.toFiberPullback, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/OverFibres.lean, line 48.
Stacks 02XI. The canonical functor
(𝒳 ×_𝒮 𝒴)_U ⥤ 𝒳_U ×_{𝒮_U} 𝒴_U, sending(U, x, y, φ)to(x, y, φ)and(a, b)to(a, b).
def toFiberPullback (hF : F ⋙ p𝒮 = p𝒳) (hG : G ⋙ p𝒮 = p𝒴) (U : 𝒞) :
(structureFunctor p𝒳 p𝒴 p𝒮 F G).Fiber U ⥤
CategoricalPullback (Functor.fiberMap p𝒳 p𝒮 F hF U) (Functor.fiberMap p𝒴 p𝒮 G hG U)
CategoryTheory.TwoFibreProductOver.ofFiberPullback, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/OverFibres.lean, line 67.
Stacks 02XI. The canonical functor
𝒳_U ×_{𝒮_U} 𝒴_U ⥤ (𝒳 ×_𝒮 𝒴)_Uinverse totoFiberPullback, sending(x, y, φ)to(U, x, y, φ)and(a, b)to(a, b)over𝟙 U.
def ofFiberPullback (hF : F ⋙ p𝒮 = p𝒳) (hG : G ⋙ p𝒮 = p𝒴) (U : 𝒞) :
CategoricalPullback (Functor.fiberMap p𝒳 p𝒮 F hF U) (Functor.fiberMap p𝒴 p𝒮 G hG U) ⥤
(structureFunctor p𝒳 p𝒴 p𝒮 F G).Fiber U
CategoryTheory.TwoFibreProductOver.toFiberPullback_comp_ofFiberPullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/OverFibres.lean, line 166.
Stacks 02XI. Composing the comparison functor with its inverse gives the identity on the fibre
(𝒳 ×_𝒮 𝒴)_U: the round trip forgets the base object and reinstates it as the literalU, which is the same object because it lies overU, and both functors are the identity on the underlying pair of components.
theorem toFiberPullback_comp_ofFiberPullback (hF : F ⋙ p𝒮 = p𝒳) (hG : G ⋙ p𝒮 = p𝒴) (U : 𝒞) :
toFiberPullback p𝒳 p𝒴 p𝒮 F G hF hG U ⋙ ofFiberPullback p𝒳 p𝒴 p𝒮 F G hF hG U = 𝟭 _
CategoryTheory.TwoFibreProductOver.ofFiberPullback_comp_toFiberPullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/OverFibres.lean, line 181.
Stacks 02XI. Composing the inverse comparison functor with the comparison functor gives the identity on
𝒳_U ×_{𝒮_U} 𝒴_U: the base coordinateUis added and then forgotten, so the triple(x, y, φ)is rebuilt unchanged. Together withtoFiberPullback_comp_ofFiberPullbackthis says the fibre of the 2-fibre product over𝒞atUis isomorphic, not merely equivalent, to the 2-fibre product of the fibres.
theorem ofFiberPullback_comp_toFiberPullback (hF : F ⋙ p𝒮 = p𝒳) (hG : G ⋙ p𝒮 = p𝒴) (U : 𝒞) :
ofFiberPullback p𝒳 p𝒴 p𝒮 F G hF hG U ⋙ toFiberPullback p𝒳 p𝒴 p𝒮 F G hF hG U = 𝟭 _
CategoryTheory.TwoFibreProductOver.fiberEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoFibreProduct/OverFibres.lean, line 193.
Stacks 02XI, as an equivalence of categories: the fibre of the 2-fibre product over
𝒞atUis the 2-fibre product of the fibre categories. Both unit and counit are identities, the two functors being strictly mutually inverse.
def fiberEquiv (hF : F ⋙ p𝒮 = p𝒳) (hG : G ⋙ p𝒮 = p𝒴) (U : 𝒞) :
(structureFunctor p𝒳 p𝒴 p𝒮 F G).Fiber U ≌
CategoricalPullback (Functor.fiberMap p𝒳 p𝒮 F hF U) (Functor.fiberMap p𝒴 p𝒮 G hG U)
Sources
Section4.33 Fibred categories#
Section 4.33 of the Stacks Project, Tag 02XJ. 13 tags here are carried by 24 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 02XL, a lemma
Tag 02XL in the Stacks Project.
Stacks.StronglyCartesian.isStronglyCartesian_conditions_hold, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/StronglyCartesian.lean, line 37. References: SGA 1 VI (6.12), “iso ⇒ Cartesian”.
Stacks 02XL. All three claims of
StronglyCartesianStabilityhold for everyp : 𝒮 ⥤ 𝒞, each supplied by Mathlib:Functor.IsStronglyCartesian.comp,.of_isIsoand.isIso_of_base_isIso.
theorem isStronglyCartesian_conditions_hold {𝒞 : Type*} [Category 𝒞] {𝒮 : Type*} [Category 𝒮]
(p : 𝒮 ⥤ 𝒞) : StronglyCartesianStability p
Tag 09WU, a lemma
Tag 09WU in the Stacks Project.
CategoryTheory.Functor.IsStronglyCartesian.comp_functor, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/StronglyCartesianComp.lean, line 64.
If
θ : a' ⟶ ais a strongly cartesian lift ofφ : b ⟶ F.obj aalongF : A ⥤ B, andφis in turn a strongly cartesian lift off : R ⟶ G.obj (F.obj a)alongG : B ⥤ C, thenθis a strongly cartesian lift offalongF ⋙ G.Taking
φ := F.map θandf := G.map (F.map θ): strong cartesianness ofθforFtogether with strong cartesianness ofF.map θforGimplies strong cartesianness ofθforF ⋙ G.
lemma IsStronglyCartesian.comp_functor (F : A ⥤ B) (G : B ⥤ C)
{a' a : A} {b : B} {R : C}
(f : R ⟶ G.obj (F.obj a)) (φ : b ⟶ F.obj a) (θ : a' ⟶ a)
[F.IsStronglyCartesian φ θ] [G.IsStronglyCartesian f φ] :
(F ⋙ G).IsStronglyCartesian f θ
Tag 06N4, a lemma
Tag 06N4 in the Stacks Project.
CategoryTheory.hasPullback_of_isStronglyCartesian, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/FibreProductsCartesian.lean, line 172.
Stacks 06N4. Given
φ : x ⟶ ystrongly cartesian overp, an existing fibre productp x ×_{p y} p zin𝒞, and a strongly cartesian morphisma : w ⟶ zin𝒮lying over the second projection of that fibre product (as recorded byhwandha), the fibre productx ×_y zexists in𝒮.
theorem hasPullback_of_isStronglyCartesian
(p : 𝒮 ⥤ 𝒞) {x y z : 𝒮} (φ : x ⟶ y) (g : z ⟶ y)
[Functor.IsStronglyCartesian p (p.map φ) φ]
[Limits.HasPullback (p.map φ) (p.map g)]
(w : 𝒮) (a : w ⟶ z)
(hw : p.obj w = Limits.pullback (p.map φ) (p.map g))
(ha : p.map a = eqToHom hw ≫ Limits.pullback.snd (p.map φ) (p.map g))
[Functor.IsStronglyCartesian p (p.map a) a] :
Limits.HasPullback φ g
CategoryTheory.pullbackIsoOfIsStronglyCartesian, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/FibreProductsCartesian.lean, line 190.
Stacks 06N4. In the situation of
hasPullback_of_isStronglyCartesianthe fibre productx ×_y zis canonically isomorphic tow: both are limits of the same cospan,wby the limit square built from the strongly cartesian morphismsφanda.
noncomputable def pullbackIsoOfIsStronglyCartesian
(p : 𝒮 ⥤ 𝒞) {x y z : 𝒮} (φ : x ⟶ y) (g : z ⟶ y)
[Functor.IsStronglyCartesian p (p.map φ) φ]
[Limits.HasPullback (p.map φ) (p.map g)]
(w : 𝒮) (a : w ⟶ z)
(hw : p.obj w = Limits.pullback (p.map φ) (p.map g))
(ha : p.map a = eqToHom hw ≫ Limits.pullback.snd (p.map φ) (p.map g))
[Functor.IsStronglyCartesian p (p.map a) a] [Limits.HasPullback φ g] :
Limits.pullback φ g ≅ w
Tag 02XM, a definition
Tag 02XM in the Stacks Project.
CategoryTheory.Functor.IsFibredCategory, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/ChoiceOfPullbacks.lean, line 303.
Stacks 02XM. A functor
p : 𝒳 ⥤ 𝒮is a fibred category over𝒮when for every objectxof𝒳lying over an objectUof𝒮and every morphismf : V ⟶ Uof𝒮there exists a strongly cartesian morphismf^* x ⟶ xlying overf.That
φlies overfis part ofCategoryTheory.Functor.IsStronglyCartesian, which extendsCategoryTheory.Functor.IsHomLift. See the implementation notes for why this is Mathlib'sCategoryTheory.Functor.IsFiberedand not itsCategoryTheory.Functor.IsPreFibered.
def IsFibredCategory (p : 𝒳 ⥤ 𝒮) : Prop
CategoryTheory.Functor.isFibredCategory_iff_isFibered, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/ChoiceOfPullbacks.lean, line 315. The attribute's comment: “the identification with Mathlib's Functor.IsFibered”. References: SGA 1 VI (6.11), “Sufficiency”.
Stacks 02XM is Mathlib's
CategoryTheory.Functor.IsFibered. Forward, a strongly cartesian lift of every base morphism makespfibred byCategoryTheory.Functor.IsFibered.of_exists_isStronglyCartesian. Backward, a fibred category has a cartesian lift of every base morphism byCategoryTheory.Functor.IsPreFibered.exists_isCartesianand every cartesian morphism of a fibred category is strongly cartesian byCategoryTheory.Functor.IsFibered.isStronglyCartesian_of_isCartesian.
theorem isFibredCategory_iff_isFibered (p : 𝒳 ⥤ 𝒮) : p.IsFibredCategory ↔ p.IsFibered
Declarations registered for the tag:
CategoryTheory.Functor.IsFiberedregistered withadd_to_stacksin StacksFrontier/CategoryTheory/FiberedCategory/ChoiceOfPullbacks.lean, line 325 (StacksFrontier): “Mathlib's SGA 1 VI.6.1 form of the definition, identified with the Stacks form byCategoryTheory.Functor.isFibredCategory_iff_isFibered”. References: SGA 1 VI (6.1); SGA 4 I (9.21), “The hypothesis that p”; SGA 4 VI (6.1).
Tag 02XN, a definition
Tag 02XN in the Stacks Project.
CategoryTheory.Functor.ChoiceOfPullbacks, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/ChoiceOfPullbacks.lean, line 91. The attribute's comment: “(1)”.
Stacks 02XN (1). A choice of pullbacks for
p : 𝒳 ⥤ 𝒮is a choice, for every morphismf : V ⟶ Uof𝒮and every objectxof the fibre ofpoverU, of an objectf^* xof the fibre overVtogether with a strongly cartesian morphismf^* x ⟶ xlying overf.
structure ChoiceOfPullbacks (p : 𝒳 ⥤ 𝒮)
CategoryTheory.Functor.ChoiceOfPullbacks.pullbackFunctor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/ChoiceOfPullbacks.lean, line 171. The attribute's comment: “(2)”.
Stacks 02XN (2). The pullback functor
f^* : 𝒳_U ⥤ 𝒳_Vbetween the fibres ofpattached to a morphismf : V ⟶ Uof𝒮by a choice of pullbacks.
noncomputable def pullbackFunctor {V U : 𝒮} (f : V ⟶ U) : p.Fiber U ⥤ p.Fiber V
Tag 02XO, a lemma
Tag 02XO in the Stacks Project.
CategoryTheory.Functor.IsFibered.pbMapId, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/PullbackPseudofunctor.lean, line 352.
Stacks 02XO, clause (2). The unitor
(𝟙 U)* ≅ 𝟭 (p.Fiber U), the canonical isomorphism coming from the uniqueness of strongly cartesian factorisations.
noncomputable def pbMapId (p : 𝒳 ⥤ 𝒮) [p.IsFibered] (U : LocallyDiscrete 𝒮ᵒᵖ) :
pbMap p (𝟙 U) ≅ 𝟙 (pbObj p U)
CategoryTheory.Functor.IsFibered.pbMapComp, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/PullbackPseudofunctor.lean, line 360. References: SGA 4 VI (6.1.2), “(6.1.2.1)”.
Stacks 02XO, clause (1). The compositor
(g ≫ f)* ≅ f* ⋙ g*, the canonical isomorphism compatible with the chosen cartesian lifts;pbMapComp_uniqshows it is the only such isomorphism.
noncomputable def pbMapComp (p : 𝒳 ⥤ 𝒮) [p.IsFibered]
{U V W : LocallyDiscrete 𝒮ᵒᵖ} (φ : U ⟶ V) (γ : V ⟶ W) :
pbMap p (φ ≫ γ) ≅ pbMap p φ ≫ pbMap p γ
CategoryTheory.Functor.IsFibered.pullbackPseudofunctor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/PullbackPseudofunctor.lean, line 525. References: SGA 4 VI (7.1.4), “partial”; SGA 4 XVII (3.3.3), “Forward direction”.
Statement 1 (Stacks 02XO). The pullback pseudofunctor associated to a fibred category
p. Its object part isU ↦ Cat.of (p.Fiber U), its 1-cell part isf ↦ f*, its unitor is(𝟙 U)* ≅ 𝟭 (p.Fiber U)and its compositor is(g ≫ f)* ≅ f* ⋙ g*.
noncomputable def pullbackPseudofunctor (p : 𝒳 ⥤ 𝒮) [p.IsFibered] :
Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat
CategoryTheory.Functor.IsFibered.pullbackPseudofunctor_mapComp_compatible, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/PullbackPseudofunctor.lean, line 563. References: SGA 1 VI (7.2), “partial”.
Stacks 02XO, clause (1). The compositor of the pullback pseudofunctor is compatible with the chosen strongly cartesian lifts: on each object
X, its underlying comparison morphism, followed by the composite of the chosen cartesian projections overγand overφ, is the chosen cartesian projection overφ ≫ γ.
theorem pullbackPseudofunctor_mapComp_compatible (p : 𝒳 ⥤ 𝒮) [p.IsFibered]
{U V W : LocallyDiscrete 𝒮ᵒᵖ} (φ : U ⟶ V) (γ : V ⟶ W) (X : ↑(pbObj p U)) :
Fiber.fiberInclusion.map (((pullbackPseudofunctor p).mapComp φ γ).hom.toNatTrans.app X)
≫ (cartComp φ.as.unop γ.as.unop).proj X =
IsPreFibered.pullbackMap X.2 (φ ≫ γ).as.unop
CategoryTheory.Functor.IsFibered.pbMapComp_uniq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/PullbackPseudofunctor.lean, line 576. References: SGA 4 VI (6.1.2), “(6.1.2.1)”.
Stacks 02XO, clause (1), uniqueness. The compositor is the unique isomorphism
(g ≫ f)* ≅ f* ⋙ g*compatible with the chosen cartesian lifts: any isomorphism whose components satisfy the compatibility triangle ofpullbackPseudofunctor_mapComp_compatibleequalspbMapComp.
theorem pbMapComp_uniq (p : 𝒳 ⥤ 𝒮) [p.IsFibered]
{U V W : LocallyDiscrete 𝒮ᵒᵖ} (φ : U ⟶ V) (γ : V ⟶ W)
(θ : pbMap p (φ ≫ γ) ≅ pbMap p φ ≫ pbMap p γ)
(hθ : ∀ X : ↑(pbObj p U),
Fiber.fiberInclusion.map (θ.hom.toNatTrans.app X) ≫
(cartComp φ.as.unop γ.as.unop).proj X =
IsPreFibered.pullbackMap X.2 (φ ≫ γ).as.unop) :
θ = pbMapComp p φ γ
Tag 042G, a lemma
Tag 042G in the Stacks Project.
CategoryTheory.BasedCategory.isFibered_iff_of_equivalence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/EquivalenceInvariance.lean, line 170.
Stacks 042G (Lemma 4.33.8). Let
𝒮be a category and let𝒳and𝒴be categories over𝒮. If𝒳and𝒴are equivalent as categories over𝒮, then𝒳is a fibred category over𝒮if and only if𝒴is.
theorem BasedCategory.isFibered_iff_of_equivalence
{𝒳 : BasedCategory.{v₂, u₂} 𝒮} {𝒴 : BasedCategory.{v₃, u₃} 𝒮}
(e : BasedCategory.Equivalence 𝒳 𝒴) :
𝒳.p.IsFibered ↔ 𝒴.p.IsFibered
Tag 02XP, a definition
Tag 02XP in the Stacks Project.
CategoryTheory.CatFibered, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/TwoCategory.lean, line 85.
The 2-category of fibred categories over
𝒮: the sub-2-category of the 2-categoryBasedCategory 𝒮of categories over𝒮(Stacks 003Y) whose
- objects are the categories
p : 𝒳 ⥤ 𝒮over𝒮that are fibred categories;- 1-morphisms
(𝒳, p) ⟶ (𝒴, p')are the functorsG : 𝒳 ⥤ 𝒴withp' ∘ G = pcarrying strongly cartesian morphisms to strongly cartesian morphisms;- 2-morphisms
t : G ⟶ Hare the morphisms of functors withp'(t_x) = 𝟙 (p x)for every objectxof𝒳.The hom-category
𝒳 ⟶ 𝒴is the source'sMor_{Fib/𝒮}(𝒳, 𝒴).
def CatFibered (𝒮 : Type u₁) [Category.{v₁} 𝒮]
Tag 02XQ, a lemma
Tag 02XQ in the Stacks Project.
CategoryTheory.TwoFibreProductOver.isFibered_structureFunctor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/TwoFibreProduct.lean, line 223.
Stacks 02XQ, fibredness. If
p𝒳,p𝒴,p𝒮are fibred categories over𝒞andF,Gare 1-morphisms of fibred categories over𝒞, then the structure functor of the 2-fibre product𝒳 ×_𝒮 𝒴exhibits it as a fibred category over𝒞.
theorem TwoFibreProductOver.isFibered_structureFunctor
(p𝒳 : 𝒳 ⥤ 𝒞) (p𝒴 : 𝒴 ⥤ 𝒞) (p𝒮 : 𝒮 ⥤ 𝒞) (F : 𝒳 ⥤ 𝒮) (G : 𝒴 ⥤ 𝒮)
[p𝒳.IsFibered] [p𝒴.IsFibered] [p𝒮.IsFibered]
(hF : Functor.IsFibredOneMorphism p𝒳 p𝒮 F)
(hG : Functor.IsFibredOneMorphism p𝒴 p𝒮 G) :
(TwoFibreProductOver.structureFunctor p𝒳 p𝒴 p𝒮 F G).IsFibered
CategoryTheory.TwoFibreProductOver.fst_isFibredOneMorphism, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/TwoFibreProduct.lean, line 238.
Stacks 02XQ, first projection. Under the hypotheses of
TwoFibreProductOver.isFibered_structureFunctor, the first projectionπ₁is a 1-morphism of fibred categories over𝒞: it is strictly over𝒞and preserves strongly cartesian morphisms.
theorem TwoFibreProductOver.fst_isFibredOneMorphism
(p𝒳 : 𝒳 ⥤ 𝒞) (p𝒴 : 𝒴 ⥤ 𝒞) (p𝒮 : 𝒮 ⥤ 𝒞) (F : 𝒳 ⥤ 𝒮) (G : 𝒴 ⥤ 𝒮)
[p𝒳.IsFibered] [p𝒴.IsFibered] [p𝒮.IsFibered]
(hF : Functor.IsFibredOneMorphism p𝒳 p𝒮 F)
(hG : Functor.IsFibredOneMorphism p𝒴 p𝒮 G) :
Functor.IsFibredOneMorphism (TwoFibreProductOver.structureFunctor p𝒳 p𝒴 p𝒮 F G) p𝒳
(TwoFibreProductOver.fst p𝒳 p𝒴 p𝒮 F G)
CategoryTheory.TwoFibreProductOver.snd_isFibredOneMorphism, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/TwoFibreProduct.lean, line 254.
Stacks 02XQ, second projection. Under the hypotheses of
TwoFibreProductOver.isFibered_structureFunctor, the second projectionπ₂is a 1-morphism of fibred categories over𝒞.
theorem TwoFibreProductOver.snd_isFibredOneMorphism
(p𝒳 : 𝒳 ⥤ 𝒞) (p𝒴 : 𝒴 ⥤ 𝒞) (p𝒮 : 𝒮 ⥤ 𝒞) (F : 𝒳 ⥤ 𝒮) (G : 𝒴 ⥤ 𝒮)
[p𝒳.IsFibered] [p𝒴.IsFibered] [p𝒮.IsFibered]
(hF : Functor.IsFibredOneMorphism p𝒳 p𝒮 F)
(hG : Functor.IsFibredOneMorphism p𝒴 p𝒮 G) :
Functor.IsFibredOneMorphism (TwoFibreProductOver.structureFunctor p𝒳 p𝒴 p𝒮 F G) p𝒴
(TwoFibreProductOver.snd p𝒳 p𝒴 p𝒮 F G)
Tag 02XR, a lemma
Tag 02XR in the Stacks Project.
CategoryTheory.Functor.IsFibered.of_comp_over, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/Slice.lean, line 94.
If a fibred category
p : S ⥤ Cfactors asp' ⋙ Over.forget Uthrough the slice categoryOver U, thenp' : S ⥤ Over Uis a fibred category.
theorem IsFibered.of_comp_over (p : S ⥤ C)
[p.IsFibered] (h : p' ⋙ Over.forget U = p) :
p'.IsFibered
Tag 09WV, a lemma
Tag 09WV in the Stacks Project.
CategoryTheory.Functor.IsFibered.comp_functor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/CompFibered.lean, line 34.
A composite of fibred functors is fibred: if
F : A ⥤ BandG : B ⥤ Care fibred, then so isF ⋙ G.
theorem IsFibered.comp_functor (F : A ⥤ B) (G : B ⥤ C)
[F.IsFibered] [G.IsFibered] : (F ⋙ G).IsFibered
Tag 06N5, a lemma
Tag 06N5 in the Stacks Project.
CategoryTheory.Functor.IsFibered.hasPullback_of_isStronglyCartesian, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/FibreProducts.lean, line 96.
Stacks 06N5, existence half. In a fibred category
p : 𝒮 ⥤ 𝒞, ifφ : x ⟶ yis strongly cartesian overpand the fibre product ofp φandp gexists in𝒞, then the fibre product ofφandgexists in𝒮.
theorem Functor.IsFibered.hasPullback_of_isStronglyCartesian
(p : 𝒮 ⥤ 𝒞) [p.IsFibered]
{x y z : 𝒮} (φ : x ⟶ y) (g : z ⟶ y)
[Functor.IsStronglyCartesian p (p.map φ) φ]
[Limits.HasPullback (p.map φ) (p.map g)] :
Limits.HasPullback φ g
CategoryTheory.Functor.IsFibered.snd_isStronglyCartesian, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/FibreProducts.lean, line 111.
Stacks 06N5, second projection strongly cartesian. Under the same hypotheses the second projection
Limits.pullback.snd φ g : x ×_y z ⟶ zis strongly cartesian overp, since it is the canonical isomorphismx ×_y z ≅ wfollowed by the strongly cartesian morphisma.
theorem Functor.IsFibered.snd_isStronglyCartesian
(p : 𝒮 ⥤ 𝒞) [p.IsFibered]
{x y z : 𝒮} (φ : x ⟶ y) (g : z ⟶ y)
[Functor.IsStronglyCartesian p (p.map φ) φ]
[Limits.HasPullback (p.map φ) (p.map g)]
[Limits.HasPullback φ g] :
Functor.IsStronglyCartesian p
(p.map (Limits.pullback.snd φ g)) (Limits.pullback.snd φ g)
CategoryTheory.Functor.IsFibered.map_isPullback_of_isStronglyCartesian, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/FibreProducts.lean, line 131.
Stacks 06N5, image square is a fibre product square. Under the same hypotheses
psends the fibre product square ofφ, gin𝒮to a fibre product square in𝒞: the imagep (x ×_y z), with the images of the two projections, is the fibre product ofp φandp g.
theorem Functor.IsFibered.map_isPullback_of_isStronglyCartesian
(p : 𝒮 ⥤ 𝒞) [p.IsFibered]
{x y z : 𝒮} (φ : x ⟶ y) (g : z ⟶ y)
[Functor.IsStronglyCartesian p (p.map φ) φ]
[Limits.HasPullback (p.map φ) (p.map g)]
[Limits.HasPullback φ g] :
IsPullback (p.map (Limits.pullback.fst φ g)) (p.map (Limits.pullback.snd φ g))
(p.map φ) (p.map g)
Tag 08NF, a lemma
Tag 08NF in the Stacks Project.
CategoryTheory.Functor.IsFibered.exists_amelioration, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/Amelioration.lean, line 770.
Stacks 4.33.14 / 08NF. Let
F : X ⥤ Ybe a 1-morphism of fibred categories overC, with structure functorsp : X ⥤ Candq : Y ⥤ C. Then there exist a fibred category(X', p'')overCand three 1-morphisms of fibred categories overC
u : X ⥤ X',v : X' ⥤ Y,w : X' ⥤ X,with
F = u ⋙ vsuch that 1.uis fully faithful; 2.wis left adjoint tou; and 3.vexhibitsX'as a fibred category overY(v.IsFibered), the structure functor ofX'overCfactoring asp'' = v ⋙ q.The witness category
X'is stated in the universemax u₁ u₂ u₃ v₁ v₂ v₃so as to accommodate the explicit construction, in which an object carries a morphism ofY(living in the hom universev₃). It is the ameliorationAmelioration p q F hFqofF, moved into that universe byexists_amelioration_uliftHom.
theorem Functor.IsFibered.exists_amelioration
{C : Type u₁} [Category.{v₁} C]
{X : Type u₂} [Category.{v₂} X]
{Y : Type u₃} [Category.{v₃} Y]
(p : X ⥤ C) (q : Y ⥤ C) [p.IsFibered] [q.IsFibered]
(F : X ⥤ Y) (hF : Functor.IsFibredOneMorphism p q F) :
∃ (X' : Type (max u₁ u₂ u₃ v₁ v₂ v₃)) (_ : Category.{max v₁ v₂ v₃} X')
(p'' : X' ⥤ C) (_ : p''.IsFibered)
(u : X ⥤ X') (v : X' ⥤ Y) (w : X' ⥤ X),
-- the three functors are 1-morphisms of fibred categories over C
Functor.IsFibredOneMorphism p p'' u ∧
Functor.IsFibredOneMorphism p'' q v ∧
Functor.IsFibredOneMorphism p'' p w ∧
-- F factors as u ⋙ v
F = u ⋙ v ∧
-- the structure functor of X' over C factors through Y as p'' = v ⋙ q
p'' = v ⋙ q ∧
-- (1) u is fully faithful
Nonempty u.FullyFaithful ∧
-- (2) w is left adjoint to u
Nonempty (w ⊣ u) ∧
-- (3) v exhibits X' as a fibred category over Y
v.IsFibered
Sources
Section4.34 Inertia#
Section 4.34 of the Stacks Project, Tag 04Z2. 3 tags here are carried by 5 declarations of the repository (1 in StacksCore and 4 in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 034H, a lemma
Tag 034H in the Stacks Project.
CategoryTheory.RelativeInertia.diagonalPullbackEquivalence, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/InertiaDiagonal.lean, line 333. The attribute's comment: “(1)”.
The comparison functor
Φ : I_{S/S'} ⥤ Δ ⊡ Δis an equivalence of categories, with explicit quasi-inverseΨ, unit coming from the equalityΨ ∘ Φ = 𝟭and counit the isomorphism with component(id, κ).
def diagonalPullbackEquivalence (F : S ⥤ S') :
RelativeInertia F ≌ CategoricalPullback (diagonal F) (diagonal F)
Declarations registered for the tag:
CategoryTheory.RelativeInertia.isFibered, declared in the repository, registered withadd_to_stacksin StacksFrontier/CategoryTheory/FiberedCategory/InertiaDiagonal.lean, line 400 (StacksFrontier): “(2)”.
Tag 034I, a definition
Tag 034I in the Stacks Project.
CategoryTheory.RelativeInertia, a structure in StacksCore (human-reviewed), declared in StacksCore/CategoryTheory/Inertia.lean, line 72.
Stacks 034I. An object of the relative inertia category
I_{S/S'}for a functorF : S ⥤ S': a pair(x, α)withα : Aut xsuch thatF(α) = id_{F(x)}. The relative inertiaI_{S/S'}(and the absolute inertiaI_S = I_{S/C}) is the fibred category built from this structure.
structure RelativeInertia (F : S ⥤ S')
Tag 04Z6, a lemma
Tag 04Z6 in the Stacks Project.
CategoryTheory.RelativeInertia.isEquivalenceOver_toFibreProduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/InertiaSquare.lean, line 450.
Stacks 04Z6. The 2-commutative square
is a 2-fibre product in the (2,1)-category of fibred categories overI_{S/S'} --c--> I_S | | F∘π | | I_F v v S' ---e---> I_{S'}C: the canonical comparison 1-morphismΘto the explicit 2-fibre productS' ×_{e, I_{S'}, I_F} I_Sis an equivalence of categories overC.The witness produced has
Θitself as its underlying functor, so the statement is about the given comparison functor with its prescribed action on objects and morphisms, and not merely about the existence of some equivalence.
theorem isEquivalenceOver_toFibreProduct :
Nonempty (IsEquivalenceOver (RelativeInertia.π F ⋙ p)
(FibreProduct.structureFunctor p p' F hF) (toFibreProduct p p' F hF))
CategoryTheory.RelativeInertia.toFibreProduct_isEquivalence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/InertiaSquare.lean, line 466.
Consequence of Stacks 04Z6: the comparison functor
Θis an equivalence of the underlying categories.
theorem toFibreProduct_isEquivalence :
(toFibreProduct p p' F hF).IsEquivalence
CategoryTheory.RelativeInertia.squareTwoCommutes, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/InertiaSquare.lean, line 476.
Stacks 04Z6, the square. The 2-commutativity of the square is witnessed by a natural isomorphism over
C,I_F ∘ c ≅ e ∘ (F ∘ π). On an object(x, α)both composites are(F x, id), sinceF α = id, so the canonical 2-isomorphism is the identity.
def squareTwoCommutes :
(comparison p p' F hF) ⋙ (functoriality p p' F hF)
≅ (RelativeInertia.π F ⋙ F) ⋙ (neutralSection p')
Sources
Section4.35 Categories fibred in groupoids#
Section 4.35 of the Stacks Project, Tag 003S. 14 tags here are carried by 20 declarations of the repository (1 in StacksCore and 19 in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 03WP, an equation
Tag 03WP in the Stacks Project.
CategoryTheory.Functor.IsFiberedInGroupoids.existsUnique_vertical_factorisation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Lifts.lean, line 52.
Stacks 03WP. The two-step lift
ψ ∘ φ : z ⟶ xofg ∘ ffactors through the direct liftγ : z' ⟶ xby a unique morphismχ : z ⟶ z'of the fibre overW, i.e. a uniqueχlying overid_W.
theorem existsUnique_vertical_factorisation :
∃! χ : z ⟶ z', p.IsHomLift (𝟙 W) χ ∧ χ ≫ γ = ψ ≫ φ
CategoryTheory.Functor.IsFiberedInGroupoids.twoStepLiftIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Lifts.lean, line 62.
Stacks 03WP. The comparison isomorphism
z ≅ z'between the domain of the two-step lift ofg ∘ fand the domain of a direct lift ofg ∘ f. Both lifts are cartesian, so this is the canonical isomorphism between the domains of two cartesian lifts of one morphism of the base.
noncomputable def twoStepLiftIso : z ≅ z'
CategoryTheory.Functor.IsFiberedInGroupoids.isIso_of_vertical_comp_eq, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Lifts.lean, line 83.
Stacks 03WP. Every morphism
χ : z ⟶ z'of the fibre overWfilling the diagram is an isomorphism: by uniqueness it is the comparison isomorphismCategoryTheory.Functor.twoStepLiftIso.
lemma isIso_of_vertical_comp_eq (χ : z ⟶ z') [p.IsHomLift (𝟙 W) χ] (hχ : χ ≫ γ = ψ ≫ φ) :
IsIso χ
Tag 003V, a lemma
Tag 003V in the Stacks Project.
CategoryTheory.Functor.IsFiberedInGroupoids.iff_isFibered_and_fiber_isGroupoid, a theorem in StacksCore (human-reviewed), declared in StacksCore/CategoryTheory/FiberedInGroupoidsEquiv.lean, line 165.
Stacks 003V (Lemma 4.35.2). A functor
p : 𝒮 ⥤ 𝒞is fibred in groupoids if and only if it is a fibred category all of whose fibres are groupoids.
theorem iff_isFibered_and_fiber_isGroupoid :
p.IsFiberedInGroupoids ↔ p.IsFibered ∧ ∀ S, IsGroupoid (p.Fiber S)
Tag 03WQ, a lemma
Tag 03WQ in the Stacks Project.
stronglyCartesianOver_isMultiplicative, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/MultiplicativeClass.lean, line 96. References: SGA 1 VI (6.13); SGA 1 VI (6.8), “Well-definedness of F̃”; SGA 4 VI (6.4), “Fr1”.
Stacks tag 03WQ (auxiliary multiplicativity). The morphism property
stronglyCartesianOver p(strongly cartesian morphisms over their image) contains identities and is closed under composition — this is the content of the first sentence of the Stacks proof, namely that the subcategory𝒮'of strongly cartesian morphisms is well-defined as a subcategory.
theorem stronglyCartesianOver_isMultiplicative
{𝒞 : Type*} [Category 𝒞] {𝒮 : Type*} [Category 𝒮]
(p : 𝒮 ⥤ 𝒞) [p.IsFibered] :
(stronglyCartesianOver p).IsMultiplicative
Tag 02XS, a definition
Tag 02XS in the Stacks Project.
CategoryTheory.CatFiberedInGroupoids, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/TwoCategory.lean, line 116.
The 2-category of categories fibred in groupoids over
𝒞: the full sub-2-category of the 2-categoryBasedCategory 𝒞of categories over𝒞(Stacks 003Y) spanned by the categories fibred in groupoids. Explicitly:
- its objects are the categories
p : 𝒮 ⥤ 𝒞over𝒞that are fibred in groupoids;- its 1-morphisms
(𝒮, p) ⟶ (𝒮', p')are the functorsG : 𝒮 ⥤ 𝒮'withp' ∘ G = p(no condition on strongly cartesian morphisms is needed: seeCatFiberedInGroupoids.isStronglyCartesian_map);- its 2-morphisms
t : G ⟶ Hare the morphisms of functors withp'(t_x) = 𝟙 (p x)for every objectxof𝒮.
abbrev CatFiberedInGroupoids (𝒞 : Type u₁) [Category.{v₁} 𝒞]
Tag 0041, a lemma
Tag 0041 in the Stacks Project.
CategoryTheory.TwoFibreProductOver.isFiberedInGroupoids, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/TwoFibreProduct.lean, line 132.
Stacks 0041. The 2-category of categories fibred in groupoids over
𝒞has 2-fibre products, given by the construction of Stacks 0040: ifp𝒳,p𝒴,p𝒮are fibred in groupoids andF,Gare strictly over𝒞, then the structure functor of𝒳 ×_𝒮 𝒴is fibred in groupoids.
theorem isFiberedInGroupoids (p𝒳 : 𝒳 ⥤ 𝒞) (p𝒴 : 𝒴 ⥤ 𝒞) (p𝒮 : 𝒮 ⥤ 𝒞) (F : 𝒳 ⥤ 𝒮) (G : 𝒴 ⥤ 𝒮)
(h𝒳 : p𝒳.IsFiberedInGroupoids) (h𝒴 : p𝒴.IsFiberedInGroupoids)
(h𝒮 : p𝒮.IsFiberedInGroupoids) (hF : F ⋙ p𝒮 = p𝒳) (hG : G ⋙ p𝒮 = p𝒴) :
(structureFunctor p𝒳 p𝒴 p𝒮 F G).IsFiberedInGroupoids
Tag 003Z, a lemma
Tag 003Z in the Stacks Project.
CategoryTheory.Functor.IsFiberedInGroupoids.faithful_iff_forall_fiber, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Fibrewise.lean, line 207. The attribute's comment: “(1)”. References: SGA 1 VI (6.10), “fibred in groupoids”.
Stacks 003Z (1).
Gis faithful if and only if for every objectUofCthe induced functorG_U : S_U ⥤ S'_Uon fibres is faithful.
theorem IsFiberedInGroupoids.faithful_iff_forall_fiber (p : S ⥤ C) (p' : S' ⥤ C)
(hp : p.IsFiberedInGroupoids) (hp' : p'.IsFiberedInGroupoids) (G : S ⥤ S')
(hG : G ⋙ p' = p) : G.Faithful ↔ ∀ U : C, (Fiber.mapOfComp p p' G hG U).Faithful
CategoryTheory.Functor.IsFiberedInGroupoids.full_and_faithful_iff_forall_fiber, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Fibrewise.lean, line 216. The attribute's comment: “(1)”. References: SGA 1 VI (6.10), “fibred in groupoids”.
Stacks 003Z (1).
Gis full and faithful if and only if for every objectUofCthe induced functorG_U : S_U ⥤ S'_Uon fibres is full and faithful.
theorem IsFiberedInGroupoids.full_and_faithful_iff_forall_fiber (p : S ⥤ C) (p' : S' ⥤ C)
(hp : p.IsFiberedInGroupoids) (hp' : p'.IsFiberedInGroupoids) (G : S ⥤ S')
(hG : G ⋙ p' = p) : (G.Full ∧ G.Faithful) ↔
∀ U : C, ((Fiber.mapOfComp p p' G hG U).Full ∧ (Fiber.mapOfComp p p' G hG U).Faithful)
CategoryTheory.Functor.IsFiberedInGroupoids.isEquivalence_iff_forall_fiber, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Fibrewise.lean, line 279. The attribute's comment: “(1)”. References: SGA 1 VI (6.10), “fibred in groupoids”; SGA 1 VI (4.2), “(iii)”.
Stacks 003Z (1).
Gis an equivalence of categories if and only if for every objectUofCthe induced functorG_U : S_U ⥤ S'_Uon fibres is an equivalence.
theorem IsFiberedInGroupoids.isEquivalence_iff_forall_fiber (p : S ⥤ C) (p' : S' ⥤ C)
(hp : p.IsFiberedInGroupoids) (hp' : p'.IsFiberedInGroupoids) (G : S ⥤ S')
(hG : G ⋙ p' = p) :
G.IsEquivalence ↔ ∀ U : C, (Fiber.mapOfComp p p' G hG U).IsEquivalence
CategoryTheory.Functor.IsFiberedInGroupoids.isEquivalence_over, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Fibrewise.lean, line 367. The attribute's comment: “(2)”.
Stacks 003Z (2). If
Gis an equivalence of categories, thenGis an equivalence in the 2-category of categories fibred in groupoids overC: there are a functorF : S' ⥤ SoverC(that is,F ⋙ p = p') and natural isomorphismsG ⋙ F ≅ 𝟭 SandF ⋙ G ≅ 𝟭 S'all of whose components lie over identity morphisms ofC.
theorem IsFiberedInGroupoids.isEquivalence_over (p : S ⥤ C) (p' : S' ⥤ C)
(hp : p.IsFiberedInGroupoids) (hp' : p'.IsFiberedInGroupoids)
(G : S ⥤ S') (hG : G ⋙ p' = p) (hGequiv : G.IsEquivalence) :
∃ (F : S' ⥤ S) (_ : F ⋙ p = p') (η : G ⋙ F ≅ 𝟭 S) (ε : F ⋙ G ≅ 𝟭 S'),
(∀ x : S, p.IsHomLift (𝟙 (p.obj x)) (η.hom.app x)) ∧
(∀ x' : S', p'.IsHomLift (𝟙 (p'.obj x')) (ε.hom.app x'))
Tag 04Z7, a lemma
Tag 04Z7 in the Stacks Project.
CategoryTheory.TwoFibreProductOver.full_and_faithful_iff_isEquivalence_diagonal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Diagonal.lean, line 252.
Stacks 04Z7. Let
p𝒮 : 𝒮 ⥤ 𝒞andp𝒮' : 𝒮' ⥤ 𝒞be categories fibred in groupoids and letG : 𝒮 ⥤ 𝒮'be a 1-morphism over𝒞. ThenGis fully faithful if and only if the diagonalΔ_G : 𝒮 ⥤ 𝒮 ×_{G, 𝒮', G} 𝒮is an equivalence.
theorem full_and_faithful_iff_isEquivalence_diagonal (h𝒮 : p𝒮.IsFiberedInGroupoids)
(h𝒮' : p𝒮'.IsFiberedInGroupoids) (hG : G ⋙ p𝒮' = p𝒮) :
(G.Full ∧ G.Faithful) ↔ (diagonal hG).IsEquivalence
Tag 03YT, a lemma
Tag 03YT in the Stacks Project.
main_theorem03YT, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Conjugation.lean, line 132. References: SGA 1 VI (4.5), “both displayed maps”.
Stacks 03YT. For
𝒮₁, …, 𝒮₄over𝒞and equivalencesφ : 𝒮₁ ⟶ 𝒮₂,ψ : 𝒮₃ ⟶ 𝒮₄over𝒞, conjugationα ↦ ψ ∘ α ∘ φis an equivalence of hom-categoriesMor_{Cat/𝒞}(𝒮₂, 𝒮₃) ⥤ Mor_{Cat/𝒞}(𝒮₁, 𝒮₄).The source additionally assumes each
𝒮ᵢis fibred in groupoids over𝒞. Conjugation by equivalences is an equivalence in any bicategory, so that hypothesis is unused; it is omitted here and the statement proved is correspondingly more general than the tag.
theorem main_theorem03YT
(𝒮₁ 𝒮₂ 𝒮₃ 𝒮₄ : BasedCategory 𝒞)
(eφ : Bicategory.Equivalence 𝒮₁ 𝒮₂)
(eψ : Bicategory.Equivalence 𝒮₃ 𝒮₄) :
(conjugationFunctor eφ.hom eψ.hom).IsEquivalence
Tag 042I, a lemma
Tag 042I in the Stacks Project.
CategoryTheory.Functor.IsFiberedInGroupoids.absoluteInertia, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Inertia.lean, line 59.
Stacks 042I. If
p : S ⥤ Cis fibred in groupoids, then so is the inertia fibred categoryI_S ⥤ C.
theorem absoluteInertia (p : S ⥤ C) (hp : p.IsFiberedInGroupoids) :
(relativeInertiaStruct p p).IsFiberedInGroupoids
Tag 02XT, a lemma
Tag 02XT in the Stacks Project.
CategoryTheory.Functor.IsFiberedInGroupoids.of_comp_over, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Slice.lean, line 89.
Stacks 02XT. If
p : 𝒮 ⥤ 𝒞is fibred in groupoids and factors through the slice categoryOver Uasp' ⋙ Over.forget U = p, thenp' : 𝒮 ⥤ Over Uis fibred in groupoids: lifts of morphisms ofOver Uand unique fill-ins forp'are obtained from those forp, because the structure morphism of a lifted object is forced andOver.forget Uis faithful.
theorem IsFiberedInGroupoids.of_comp_over
{𝒮 𝒞 : Type*} [Category 𝒮] [Category 𝒞] (U : 𝒞)
(p : 𝒮 ⥤ 𝒞) (p' : 𝒮 ⥤ Over U)
(h : p' ⋙ Over.forget U = p) (hp : p.IsFiberedInGroupoids) :
p'.IsFiberedInGroupoids
Tag 09WW, a lemma
Tag 09WW in the Stacks Project.
CategoryTheory.Functor.IsFiberedInGroupoids.comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Comp.lean, line 50.
Stacks 09WW. The composition of two functors that are fibred in groupoids is fibred in groupoids.
theorem IsFiberedInGroupoids.comp (p : 𝒜 ⥤ ℬ) (q : ℬ ⥤ 𝒞)
(hp : p.IsFiberedInGroupoids) (hq : q.IsFiberedInGroupoids) :
(p ⋙ q).IsFiberedInGroupoids
Tag 06N6, a lemma
Tag 06N6 in the Stacks Project.
CategoryTheory.Functor.IsFiberedInGroupoids.hasPullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/FibreProducts.lean, line 132. The attribute's comment: “(1)”.
Let
pbe fibred in groupoids and letgx : x ⟶ y,gz : z ⟶ ybe morphisms ofS. If the fibre product ofp.map gxandp.map gzexists inC, then the fibre product ofgxandgzexists inS.
theorem IsFiberedInGroupoids.hasPullback
(p : S ⥤ C) (hp : p.IsFiberedInGroupoids)
{x y z : S} (gx : x ⟶ y) (gz : z ⟶ y)
[Limits.HasPullback (p.map gx) (p.map gz)] :
Limits.HasPullback gx gz
CategoryTheory.Functor.IsFiberedInGroupoids.map_isPullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/FibreProducts.lean, line 145. The attribute's comment: “(2)”.
For any fibre product
x ×_y zinS, realized by a pullback square with vertexPand projectionspr₁ : P ⟶ x,pr₂ : P ⟶ z, the imagep.obj Ptogether withp.map pr₁andp.map pr₂is a fibre product ofp.map gxandp.map gzinC:pcarries the pullback square ofSto a pullback square ofC.
theorem IsFiberedInGroupoids.map_isPullback
(p : S ⥤ C) (hp : p.IsFiberedInGroupoids)
{x y z : S} (gx : x ⟶ y) (gz : z ⟶ y)
[Limits.HasPullback (p.map gx) (p.map gz)]
{P : S} (pr₁ : P ⟶ x) (pr₂ : P ⟶ z)
(hP : IsPullback pr₁ pr₂ gx gz) :
IsPullback (p.map pr₁) (p.map pr₂) (p.map gx) (p.map gz)
Tag 06N7, a lemma
Tag 06N7 in the Stacks Project.
CategoryTheory.Functor.IsFiberedInGroupoids.exists_factorization_isFiberedInGroupoids, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Factorization.lean, line 450.
Stacks 06N7 (Lemma 4.35.16). Let
𝒞be a category and let𝒳,𝒴be categories fibred in groupoids over𝒞viap : 𝒳 ⥤ 𝒞andq : 𝒴 ⥤ 𝒞. LetF : 𝒳 ⥤ 𝒴be a 1-morphism over𝒞(F ⋙ q = p). Then there exist a category𝒳', a structure functorr : 𝒳' ⥤ 𝒞and functorsa : 𝒳 ⥤ 𝒳',t : 𝒳' ⥤ 𝒴such that
ris fibred in groupoids over𝒞;ais a 1-morphism over𝒞(a ⋙ r = p) and an equivalence over𝒞;tis a 1-morphism over𝒞(t ⋙ q = r) and is fibred in groupoids over𝒴;a ⋙ t = F.
theorem IsFiberedInGroupoids.exists_factorization_isFiberedInGroupoids
{𝒞 : Type u₂} [Category.{v₂} 𝒞]
{𝒳 : Type u₁} [Category.{v₁} 𝒳] (p : 𝒳 ⥤ 𝒞) (hp : p.IsFiberedInGroupoids)
{𝒴 : Type u₃} [Category.{v₃} 𝒴] (q : 𝒴 ⥤ 𝒞) (hq : q.IsFiberedInGroupoids)
(F : 𝒳 ⥤ 𝒴) (hF : F ⋙ q = p) :
∃ (𝒳' : Type (max u₁ u₃ v₁ v₃)) (_ : Category.{max v₁ v₃} 𝒳')
(r : 𝒳' ⥤ 𝒞) (a : 𝒳 ⥤ 𝒳') (t : 𝒳' ⥤ 𝒴),
r.IsFiberedInGroupoids ∧
(a ⋙ r = p) ∧ Nonempty (IsEquivalenceOver p r a) ∧
(t ⋙ q = r) ∧ t.IsFiberedInGroupoids ∧
(a ⋙ t = F)
Tag 06N8, a lemma
Tag 06N8 in the Stacks Project.
amelioration_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/AmeliorationUniqueness.lean, line 42.
Stacks 06N8 (uniqueness of the factorization of 4.35.16 / 06N7).
Let
F : 𝒳 ⥤ 𝒴be a 1-morphism of categories fibred in groupoids over𝒞. SupposeFis factored in two ways through categories fibred in groupoids over𝒞:𝒳 ⟶[a] 𝒳' ⟶[f] 𝒴and𝒳 ⟶[b] 𝒳'' ⟶[g] 𝒴, where
a,bare equivalences (over𝒞);- the two factorizations agree with
F:a ⋙ f ≅ Fandb ⋙ g ≅ F.Then there is an equivalence
h : 𝒳'' ⥤ 𝒳'over𝒴(i.e.h.IsEquivalencetogether withh ⋙ f ≅ g) such thatb ⋙ h ≅ a. In particular the intermediate category is unique up to equivalence over𝒴, compatibly with the first legs.The conclusion uses none of the remaining data of 06N8 — the structure functors
p : 𝒳 ⥤ 𝒞,q : 𝒴 ⥤ 𝒞,p' : 𝒳' ⥤ 𝒞,p'' : 𝒳'' ⥤ 𝒞, their fiberedness in groupoids, that offandg, and the compatibilitiesa ⋙ p' = p,b ⋙ p'' = p,f ⋙ q = p',g ⋙ q = p''— so it is stated in the general form below, which specializes to 06N8 in the fibred setting.
theorem amelioration_unique
{𝒞 : Type u₁} [Category.{v₁} 𝒞]
{𝒳 : Type u₂} [Category.{v₂} 𝒳]
{𝒴 : Type u₃} [Category.{v₃} 𝒴]
{𝒳' : Type u₄} [Category.{v₄} 𝒳']
{𝒳'' : Type u₅} [Category.{v₅} 𝒳'']
(F : 𝒳 ⥤ 𝒴) (a : 𝒳 ⥤ 𝒳') (b : 𝒳 ⥤ 𝒳'')
(f : 𝒳' ⥤ 𝒴) (g : 𝒳'' ⥤ 𝒴)
(ha_equiv : a.IsEquivalence) (hb_equiv : b.IsEquivalence)
(hleft : a ⋙ f ≅ F) (hright : b ⋙ g ≅ F) :
∃ (h : 𝒳'' ⥤ 𝒳') (_ : h.IsEquivalence) (_ : h ⋙ f ≅ g),
Nonempty (b ⋙ h ≅ a)
Sources
Section4.36 Presheaves of categories#
Section 4.36 of the Stacks Project, Tag 02XU. 4 tags here are carried by 8 declarations of the repository (all in StacksFrontier) and 4 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 02XV, an example
Tag 02XV in the Stacks Project.
CategoryTheory.presheafOfCategories, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/OfPresheaf.lean, line 87.
Stacks 02XV. The category
𝒮_Fattached to a presheaf of categoriesF : 𝒞ᵒᵖ ⥤ Cat, together with its projectionp_F : 𝒮_F ⥤ 𝒞, as an object of the 2-category of categories over𝒞.
abbrev presheafOfCategories (F : 𝒞ᵒᵖ ⥤ Cat.{v₂, u₂}) : BasedCategory 𝒞
CategoryTheory.PresheafOfCategories.objEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/OfPresheaf.lean, line 108.
Stacks 02XV.
Ob(𝒮_F) = {(U, x) | U ∈ Ob(𝒞), x ∈ Ob(F(U))}.
def objEquiv : ∫ᶜ F.toPseudofunctor' ≃ Σ U : 𝒞, F.obj (op U)
CategoryTheory.PresheafOfCategories.homEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/OfPresheaf.lean, line 117.
Stacks 02XV.
Mor_{𝒮_F}((V, y), (U, x))is the disjoint union overf : V ⟶ UofMor_{F(V)}(y, f^* x).
def homEquiv (X Y : ∫ᶜ F.toPseudofunctor') :
(X ⟶ Y) ≃ Σ f : X.base ⟶ Y.base, (X.fiber ⟶ (F.map f.op).toFunctor.obj Y.fiber)
CategoryTheory.PresheafOfCategories.comp_fiber, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/OfPresheaf.lean, line 128.
Stacks 02XV. The composition of
𝒮_Fis the source's: the composite ofψ : z ⟶ g^* ywithφ : y ⟶ f^* xisg^*(φ) ∘ ψ, read as a morphismz ⟶ (f ∘ g)^* xthroughpullback_comp_obj.
lemma comp_fiber {X Y Z : ∫ᶜ F.toPseudofunctor'} (u : X ⟶ Y) (v : Y ⟶ Z) :
(u ≫ v).fiber = u.fiber ≫ (F.map u.base.op).toFunctor.map v.fiber ≫
eqToHom (pullback_comp_obj F u.base v.base Z.fiber)
CategoryTheory.PresheafOfCategories.isFibered, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/OfPresheaf.lean, line 142. References: SGA 4 VI (6.1.3), “strict functor case”.
Stacks 02XV. The projection
p_F : 𝒮_F ⥤ 𝒞is a fibred category.This bridge is load-bearing: instance resolution does not see Mathlib's
CoGrothendieck.instIsFiberedForgetthroughBasedCategory.ofFunctor's projection, soinfer_instancefails on this goal without it.
instance isFibered : (presheafOfCategories F).p.IsFibered
Declarations registered for the tag:
CategoryTheory.Pseudofunctor.CoGrothendieckregistered withadd_to_stacksin StacksFrontier/CategoryTheory/FiberedCategory/OfPresheaf.lean, line 70 (StacksFrontier): “the category𝒮_F”. References: SGA 4 XVII (2.2.12).CategoryTheory.Pseudofunctor.CoGrothendieck.forgetregistered withadd_to_stacksin StacksFrontier/CategoryTheory/FiberedCategory/OfPresheaf.lean, line 72 (StacksFrontier): “the projectionp_F”. References: SGA 4 I (8.3.2), “more general”.CategoryTheory.Pseudofunctor.CoGrothendieck.instIsFiberedForgetregistered withadd_to_stacksin StacksFrontier/CategoryTheory/FiberedCategory/OfPresheaf.lean, line 74 (StacksFrontier): “p_Fis a fibred category”. References: SGA 4 VI (6.1.3), “Fiberedness clause”; SGA 4 VI (7.1.4), “partial”; SGA 4 XVII (2.2.12), “partial”.CategoryTheory.Pseudofunctor.CoGrothendieck.isStronglyCartesian_homCartesianLiftregistered withadd_to_stacksin StacksFrontier/CategoryTheory/FiberedCategory/OfPresheaf.lean, line 80 (StacksFrontier): “the strongly cartesian lift off”.
Tag 02XW, a definition
Tag 02XW in the Stacks Project.
CategoryTheory.Functor.IsSplitFibered, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/Split.lean, line 43.
Stacks 02XW. A split fibred category over
𝒞is a fibred categoryp : 𝒮 ⥤ 𝒞that is isomorphic over𝒞to the fibred category𝒮_Fattached to some presheaf of categoriesF : 𝒞ᵒᵖ ⥤ Cat(Stacks 02XV). The source is explicit that isomorphism over𝒞, and not merely equivalence over𝒞, is meant.
def Functor.IsSplitFibered (p : 𝒮 ⥤ 𝒞) : Prop
Tag 02XX, a lemma
Tag 02XX in the Stacks Project.
CategoryTheory.Functor.isSplitFibered_iff_exists_isSplitCleavage, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/Splitting.lean, line 847.
Stacks 02XX, with the source's condition on a choice of pullbacks replaced by
CategoryTheory.Functor.ChoiceOfPullbacks.IsSplitCleavage: a fibred category is split (Stacks 02XW) if and only if some choice of pullbacks (Stacks 02XN) has its two canonical comparisons of Stacks 02XN equal to identities, i.e. has chosen cartesian lifts strictly compatible with identities and composition.The source states the condition on the pullback functors, as
(f ∘ g)^* = g^* ∘ f^*, and that biconditional is false: see the module docstring, and the two counterexamplesCategoryTheory.SplittingCounterexample.compatibleWithComp_not_isSplittingandCategoryTheory.SplitCleavageCounterexample.isSplitting_not_isSplitFiberedinStacksFrontier/CategoryTheory/FiberedCategory/SplittingCounterexample.lean.
theorem Functor.isSplitFibered_iff_exists_isSplitCleavage {p : 𝒳 ⥤ 𝒮} :
p.IsSplitFibered ↔ ∃ c : p.ChoiceOfPullbacks, c.IsSplitCleavage
Tag 004A, a lemma
Tag 004A in the Stacks Project.
CategoryTheory.Functor.exists_isFibredEquivalenceOver_presheafOfCategories, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/Strictification.lean, line 916.
Stacks 004A. Every fibred category
p : 𝒳 ⥤ 𝒞is equivalent, in the 2-category of fibred categories over𝒞, to the category𝒮_F(Stacks 02XV,CategoryTheory.presheafOfCategories) attached to a contravariant functorF : 𝒞 ⥤ Cat; in other words, every fibred category is equivalent to a split one.
theorem exists_isFibredEquivalenceOver_presheafOfCategories :
∃ (F : 𝒞ᵒᵖ ⥤ Cat.{v₂, max u₁ u₂ v₁}) (Φ : 𝒳 ⥤ (presheafOfCategories F).obj),
IsFibredEquivalenceOver p (presheafOfCategories F).p Φ
Sources
Section4.37 Presheaves of groupoids#
Section 4.37 of the Stacks Project, Tag 0048. 3 tags here are carried by 3 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0049, an example
Tag 0049 in the Stacks Project.
CategoryTheory.isFiberedInGroupoids_presheafOfGroupoids, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/OfPresheaf.lean, line 100. References: SGA 4 VI (6.1.3), “strict, groupoid fibers”; SGA 7 VI (1.1(a)), “groupoid-valued F”.
Stacks 0049. The category
𝒮_Fattached to a presheaf of groupoidsF : 𝒞ᵒᵖ ⥤ Grpdis fibred in groupoids over𝒞: every morphism of𝒞lifts, and every fill-in problem has a unique solution.
theorem isFiberedInGroupoids_presheafOfGroupoids :
(presheafOfGroupoids F).p.IsFiberedInGroupoids
Tag 04TL, a definition
Tag 04TL in the Stacks Project.
CategoryTheory.Functor.IsSplitFiberedInGroupoids, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Split.lean, line 89.
Stacks 04TL. A split category fibred in groupoids over
𝒞is a category fibred in groupoidsp : 𝒮 ⥤ 𝒞that is isomorphic over𝒞to the category𝒮_Fattached to some presheaf of groupoidsF : 𝒞ᵒᵖ ⥤ Grpd(Stacks 0049). The source is explicit that isomorphism over𝒞, and not merely equivalence over𝒞, is meant.
def Functor.IsSplitFiberedInGroupoids (p : 𝒮 ⥤ 𝒞) : Prop
Tag 02XY, a lemma
Tag 02XY in the Stacks Project.
CategoryTheory.Functor.exists_isFibredEquivalenceOver_presheafOfGroupoids, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/Strictification.lean, line 955.
Stacks 02XY. Every category fibred in groupoids
p : 𝒳 ⥤ 𝒞is equivalent, in the 2-category of fibred categories over𝒞, to the category𝒮_F(Stacks 0049,CategoryTheory.presheafOfGroupoids) attached to a contravariant functorF : 𝒞 ⥤ Groupoids; in other words, every category fibred in groupoids is equivalent to a split one.
theorem exists_isFibredEquivalenceOver_presheafOfGroupoids (p : 𝒳 ⥤ 𝒞)
(hp : p.IsFiberedInGroupoids) :
∃ (F : 𝒞ᵒᵖ ⥤ Grpd.{v₂, max u₁ u₂ v₁}) (Φ : 𝒳 ⥤ (presheafOfGroupoids F).obj),
IsFibredEquivalenceOver p (presheafOfGroupoids F).p Φ
Sources
Section4.38 Categories fibred in sets#
Section 4.38 of the Stacks Project, Tag 0042. 6 tags here are carried by 8 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 02Y0, a definition
Tag 02Y0 in the Stacks Project.
Declarations registered for the tag:
CategoryTheory.IsDiscreteregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 45 (StacksFrontier).
Tag 04S8, a definition
Tag 04S8 in the Stacks Project.
CategoryTheory.CatFiberedInSets, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInSets/TwoCategory.lean, line 149.
The 2-category of categories fibred in sets over
𝒞: the full sub-2-category of the 2-categoryBasedCategory 𝒞of categories over𝒞spanned by the categories fibred in sets. Explicitly:
- its objects are the categories
p : 𝒮 ⥤ 𝒞over𝒞that are fibred in sets;- its 1-morphisms
(𝒮, p) ⟶ (𝒮', p')are the functorsG : 𝒮 ⥤ 𝒮'withp' ∘ G = p;- its 2-morphisms
t : G ⟶ Hare the morphisms of functors withp'(t_x) = 𝟙 (p x)for every objectxof𝒮.
abbrev CatFiberedInSets (𝒞 : Type u₁) [Category.{v₁} 𝒞]
Tag 0047, a lemma
Tag 0047 in the Stacks Project.
CategoryTheory.Functor.IsFiberedInSets.twoFibreProd, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInSets/TwoFibreProduct.lean, line 147.
Stacks 0047 (Lemma 4.38.4). The 2-category of categories fibred in sets over
𝒞has 2-fibre products: if𝒳,𝒴,𝒮are fibred in sets over𝒞andF : 𝒳 ⥤ 𝒮,G : 𝒴 ⥤ 𝒮are 1-morphisms over𝒞, then the 2-fibre product𝒳 ×_𝒮 𝒴of Stacks0040, with its structure functor, is again fibred in sets over𝒞.
theorem Functor.IsFiberedInSets.twoFibreProd
[pX.IsFiberedInSets] [pY.IsFiberedInSets] [pS.IsFiberedInSets]
(hF : F ⋙ pS = pX) (hG : G ⋙ pS = pY) :
(TwoFibreProd.proj pX pY pS F G).IsFiberedInSets
Tag 04TM, an example
Tag 04TM in the Stacks Project.
elementsCategory, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInSets/OfPresheaf.lean, line 53. References: SGA 7 VI (1.1(a)), “set-valued F”.
Stacks 04TM. The category
𝒮_Fattached to a presheafF : Cᵒᵖ ⥤ Type*: objects are the pairs(U, x)withx ∈ F(U), and a morphism(V, y) ⟶ (U, x)is anf : V ⟶ UofCwithf^* x = y. This is Mathlib's category of elements ofF.
def elementsCategory {C : Type*} [Category C] (F : Cᵒᵖ ⥤ Type*) :
Category F.Elements
Tag 02Y2, a lemma
Tag 02Y2 in the Stacks Project.
CategoryTheory.Functor.twoMorphisms_are_identity, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInSets/TwoCategoryIsCategory.lean, line 137.
A 2-morphism over
𝒞between two 1-morphisms into a category fibred in sets is an identity: the two 1-morphisms are equal.
theorem twoMorphisms_are_identity
{𝒮 : Type u₂} [Category.{v₂} 𝒮] {𝒮' : Type u₃} [Category.{v₃} 𝒮']
(p : 𝒮 ⥤ 𝒞) (p' : 𝒮' ⥤ 𝒞) [p'.IsFiberedInSets]
(F G : 𝒮 ⥤ 𝒮') (hF : F ⋙ p' = p) (hG : G ⋙ p' = p)
(η : F ⟶ G)
(hη : ∀ x, HEq (p'.map (η.app x)) (𝟙 (p.obj x))) :
F = G
Tag 0044, an example
Tag 0044 in the Stacks Project.
CategoryTheory.overEquivElementsOp, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Elements.lean, line 95.
C/Xis the category of elements ofh_X. The slice categoryC/Xis equivalent to the categoryS_{h_X} = ((h_X).Elements)ᵒᵖattached to the representable presheafh_X = Mor_C(-, X).Both round trips are the identity functor on the nose, so the unit and counit are identities.
def overEquivElementsOp : Over X ≌ ((yoneda.obj X).Elements)ᵒᵖ
CategoryTheory.overEquivElementsOpForget, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Elements.lean, line 113.
The equivalence of
overEquivElementsOpis an equivalence overC. It carries the structure functorC/X → Cto the structure functorS_{h_X} → C, which is(Functor.Elements.π h_X).leftOp. This is the sense in whichC/Xis canonically equivalent overCtoS_{h_X}.
def overEquivElementsOpForget :
(overEquivElementsOp X).functor ⋙ (Functor.Elements.π (yoneda.obj X)).leftOp
≅ Over.forget X
CategoryTheory.Over.eq_of_hom_left_id, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Elements.lean, line 268.
The fibre categories of
C/X → Chave only identities (existence part). If there is a morphismOver.mk f ⟶ Over.mk gofC/Xlying over the identity ofU, thenf = g.
theorem eq_of_hom_left_id {U : C} {f g : U ⟶ X} (φ : Over.mk f ⟶ Over.mk g)
(hφ : φ.left = 𝟙 U) : f = g
CategoryTheory.Over.hom_eq_id_of_left_id, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Elements.lean, line 277.
The fibre categories of
C/X → Chave only identities (uniqueness part). A morphism ofC/Xfrom an object to itself lying over the identity is the identity. Together withCategoryTheory.Over.eq_of_hom_left_idthis says that the fibre category ofC/X → CoverUhas the morphismsh : U ⟶ Xas objects and only identities as morphisms.
theorem hom_eq_id_of_left_id {U : C} {f : U ⟶ X} (φ : Over.mk f ⟶ Over.mk f)
(hφ : φ.left = 𝟙 U) : φ = 𝟙 (Over.mk f)
Sources
Section4.39 Categories fibred in setoids#
Section 4.39 of the Stacks Project, Tag 04S9. 8 tags here are carried by 15 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 02XZ, a definition
Tag 02XZ in the Stacks Project.
IsSetoidCategory, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInSetoids/Setoid.lean, line 54. References: SGA 4 I (6.5.1), “discrete category def”.
Stacks 02XZ. A category
Cis a setoid when every morphism ofCis an isomorphism and every endomorphismf : X ⟶ Xis𝟙 X; equivalentlyCis a thin groupoid, so a setoid is a set together with an equivalence relation on it.
def IsSetoidCategory (C : Type*) [Category C] : Prop
Tag 04SA, a definition
Tag 04SA in the Stacks Project.
CategoryTheory.Functor.IsFiberedInSetoids, a class in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInSetoids/Defs.lean, line 49.
Stacks 04SA. A functor
p : 𝒳 ⥤ 𝒮is a category fibred in setoids if it is fibred in groupoids and each fibre categoryp.Fiber Sis a setoid, i.e. thin (its fibres are groupoids automatically, by Stacks003V).
class IsFiberedInSetoids (p : 𝒳 ⥤ 𝒮) : Prop
Tag 02Y1, a definition
Tag 02Y1 in the Stacks Project.
CategoryTheory.CatFiberedInSetoids, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInSetoids/TwoCategory.lean, line 40.
The 2-category of categories fibred in setoids over
𝒞: the full sub-2-category of the 2-categoryBasedCategory 𝒞of categories over𝒞spanned by the categories fibred in setoids. Explicitly:
- its objects are the categories
p : 𝒮 ⥤ 𝒞over𝒞that are fibred in setoids;- its 1-morphisms
(𝒮, p) ⟶ (𝒮', p')are the functorsG : 𝒮 ⥤ 𝒮'withp' ∘ G = p;- its 2-morphisms
t : G ⟶ Hare the morphisms of functors withp'(t_x) = 𝟙 (p x)for every objectxof𝒮.
abbrev CatFiberedInSetoids (𝒞 : Type u₁) [Category.{v₁} 𝒞]
Tag 04SB, a lemma
Tag 04SB in the Stacks Project.
CategoryTheory.TwoFibreProd.proj_isFiberedInSetoids, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInSetoids/TwoFibreProduct.lean, line 334.
The 2-fibre product of categories fibred in setoids. If
𝒳,𝒴,𝒮are fibred in setoids over𝒞andF : 𝒳 ⥤ 𝒮,G : 𝒴 ⥤ 𝒮are 1-morphisms over𝒞, then the 2-fibre product𝒳 ×_𝒮 𝒴over𝒞, with its structure functor, is again fibred in setoids over𝒞.
theorem TwoFibreProd.proj_isFiberedInSetoids
(hX : pX.IsFiberedInSetoids) (hY : pY.IsFiberedInSetoids) (hS : pS.IsFiberedInSetoids)
(hF : F ⋙ pS = pX) (hG : G ⋙ pS = pY) :
(TwoFibreProd.proj pX pY pS F G).IsFiberedInSetoids
Tag 0045, a lemma
Tag 0045 in the Stacks Project.
CategoryTheory.BasedCategory.Equivalence.isFiberedInSetoids_of_isFiberedInSets, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInSetoids/EquivalentFiberedInSets.lean, line 115. The attribute's comment: “(1)(a)”. References: SGA 4 I (6.5.1), “more general”.
Stacks 0045 (1)(a). Let
𝒞be a category and let𝒳be a category over𝒞. If𝒳is equivalent over𝒞to a category𝒴fibred in sets over𝒞, then𝒳is fibred in setoids over𝒞.Both fibre conditions are transported backwards along the equivalence: a category fibred in sets is fibred in groupoids with discrete, hence thin, fibres (Stacks 0043), and being fibred in groupoids and having thin fibres each transport.
theorem isFiberedInSetoids_of_isFiberedInSets (e : BasedCategory.Equivalence 𝒳 𝒴)
(h : 𝒴.p.IsFiberedInSets) : 𝒳.p.IsFiberedInSetoids
CategoryTheory.BasedCategory.Equivalence.fiberMap_identifiesIsoClasses, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInSetoids/EquivalentFiberedInSets.lean, line 132. The attribute's comment: “(1)(b)”.
Stacks 0045 (1)(b). Let
𝒞be a category, let𝒳be a category over𝒞and letebe an equivalence over𝒞from𝒳to a category𝒴fibred in sets over𝒞. For every objectUof𝒞the induced mapOb(𝒳_U) → Ob(𝒴_U)on the objects of the fibres identifies its target with the set of isomorphism classes of its source: it is surjective, and two objects of𝒳_Uhave the same image exactly when they are isomorphic in𝒳_U.The same content packaged as a bijection
Ob(𝒳_U)/≅ ≃ Ob(𝒴_U)isCategoryTheory.BasedCategory.Equivalence.fiberQuotientEquiv; as there, the two categories over𝒞are taken in one pair of universes.
theorem fiberMap_identifiesIsoClasses {𝒳 𝒴 : BasedCategory.{v₂, u₂} 𝒞}
(e : BasedCategory.Equivalence 𝒳 𝒴)
(h : 𝒴.p.IsFiberedInSets) (U : 𝒞) :
Function.Surjective (e.fiberMap (U := U)) ∧
∀ x y : 𝒳.p.Fiber U, e.fiberMap x = e.fiberMap y ↔ IsIsomorphic x y
CategoryTheory.Functor.isFiberedInSets_isoClassElementsProj, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInSetoids/EquivalentFiberedInSets.lean, line 264. The attribute's comment: “(2), the category fibred in sets”.
Stacks 0045 (2), the category produced is fibred in sets. The lift of
f : V ⟶ Uat(U, ξ)is(V, f^*ξ), with the restriction map of the presheaf of isomorphism classes as the morphism, and it is the only one: a lift offwith target(U, ξ)has its underlying morphism of𝒞forced to bef, and then the class at its source is forced to bef^*ξ.
instance isFiberedInSets_isoClassElementsProj (p : 𝒮 ⥤ 𝒞) [p.IsFibered] :
(isoClassElementsProj p).IsFiberedInSets
CategoryTheory.Functor.basedEquivalenceIsoClassElements, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInSetoids/EquivalentFiberedInSets.lean, line 428. The attribute's comment: “(2), the equivalence over the base”.
Stacks 0045 (2), the equivalence. Let
𝒞be a category and letp : 𝒮 ⥤ 𝒞be a category fibred in setoids. Thencan : 𝒮 ⥤ 𝒮'is an equivalence over𝒞onto the category of elements of the presheaf of isomorphism classes, which is fibred in sets byCategoryTheory.Functor.isFiberedInSets_isoClassElementsProj.
noncomputable def basedEquivalenceIsoClassElements (p : 𝒮 ⥤ 𝒞) [p.IsFiberedInSetoids] :
BasedCategory.Equivalence (BasedCategory.ofFunctor p)
(BasedCategory.ofFunctor (isoClassElementsProj p))
Tag 04SC, a lemma
Tag 04SC in the Stacks Project.
CategoryTheory.Functor.existsUnique_twoIso_of_isoClassMap_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/FiberedInSetoids.lean, line 360. The attribute's comment: “(1): a unique 2-isomorphism between two 1-morphisms with the same image under F.”.
Stacks 04SC (1). For two 1-morphisms
f, g : 𝒮₁ ⟶ 𝒮₂of categories fibred in setoids over𝒞withF(f) = F(g), that is inducing the same map on the presheaves of isomorphism classes of objects, there is a unique 2-isomorphismf ⟶ g.
theorem existsUnique_twoIso_of_isoClassMap_eq {G H : 𝒮 ⥤ 𝒯} (hG : G ⋙ q = p) (hH : H ⋙ q = p)
(h : isoClassMapOfCompEq hG = isoClassMapOfCompEq hH) :
∃! e : G ≅ H, ∀ x : 𝒮, q.IsHomLift (𝟙 (p.obj x)) (e.hom.app x)
CategoryTheory.Functor.exists_oneMorphism_isoClassMap_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/FiberedInSetoids.lean, line 476. The attribute's comment: “(2): every map of the associated presheaves comes from a 1-morphism.”.
Stacks 04SC (2). Every morphism
h : F(𝒮₁) ⟶ F(𝒮₂)of presheaves of isomorphism classes isF(f)for a 1-morphismf : 𝒮₁ ⟶ 𝒮₂of categories fibred in setoids over𝒞.
theorem exists_oneMorphism_isoClassMap_eq :
∃ (G : 𝒮 ⥤ 𝒯) (hG : G ⋙ q = p), isoClassMapOfCompEq hG = φ
CategoryTheory.Functor.isoClassMapEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/FiberedInSetoids.lean, line 526. The attribute's comment: “The bijection Mor(𝒮₁, 𝒮₂)/2-isomorphism = Mor_{PSh}(F₁, F₂).”.
Stacks 04SC, final form: for categories
𝒮₁,𝒮₂fibred in setoids over𝒞,Mor_{Cat/𝒞}(𝒮₁, 𝒮₂)modulo 2-isomorphism isMor_{PSh(𝒞)}(F₁, F₂), whereF_i(U)is the set of isomorphism classes of objects of the fibre of𝒮_ioverU. The forward map sends a 1-morphism to the induced map of presheaves; it is surjective by Stacks 04SC (2) and injective by Stacks 04SC (1).
noncomputable def isoClassMapEquiv :
_root_.Quotient (twoIsoSetoid p q) ≃ (p.isoClassPresheaf ⟶ q.isoClassPresheaf)
CategoryTheory.Functor.fiberPresheafIsoIsoClassPresheaf, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/FiberedInSetoids.lean, line 584. The attribute's comment: “(3): for a category fibred in sets the presheaf of isomorphism classes of the fibres is the presheaf of objects of the fibres, i.e. 𝒮 = F(𝒮).”.
Stacks 04SC (3). A category fibred in sets
𝒮is equal toF(𝒮): the presheaf of isomorphism classes of the fibres of𝒮is the presheafU ↦ Ob(𝒮_U)of objects of the fibres, which is the presheaf that Stacks 02Y2 attaches to𝒮. The isomorphism is the quotient map at eachU, a bijection because the fibres are discrete, and it is natural because on both sides the restriction alongf : V ⟶ Uisx ↦ f^* x.
noncomputable def fiberPresheafIsoIsoClassPresheaf (hd : ∀ U : 𝒞, IsDiscrete (p.Fiber U)) :
p.fiberPresheaf hd ≅ p.isoClassPresheaf
Tag 042J, a lemma
Tag 042J in the Stacks Project.
isFiberedInSetoids_iff_π_isEquivalence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInSetoids/Inertia.lean, line 31.
Stacks 042J. A category fibred in groupoids
p : 𝒮 ⥤ 𝒞is fibred in setoids if and only if the forgetful 1-morphismπ : I_𝒮 ⥤ 𝒮of the absolute inertia is an equivalence. Sinceπis always faithful and essentially surjective, the content is thatπis full exactly when the fibres ofpare thin.
theorem isFiberedInSetoids_iff_π_isEquivalence (p : 𝒮 ⥤ 𝒞) (hp : p.IsFiberedInGroupoids) :
p.IsFiberedInSetoids ↔ (RelativeInertia.π p : AbsoluteInertia p ⥤ 𝒮).IsEquivalence
Tag 04SD, a lemma
Tag 04SD in the Stacks Project.
CategoryTheory.Functor.twoFibreProductIsoClassEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/FiberedInSetoids.lean, line 837.
Stacks 04SD. The presheaf attached by Stacks 04SC to a 2-fibre product
𝒳 ×_𝒵 𝒴over𝒞is the fibre product of the presheaves attached to𝒳,𝒴and𝒵: at every objectUof𝒞,Ob((𝒳 ×_𝒵 𝒴)_U)/≅ = Ob(𝒳_U)/≅ ×_{Ob(𝒵_U)/≅} Ob(𝒴_U)/≅, by the bijection sending the class of an object to the pair of the classes of its components. This is the display to which the source's proof reduces the lemma.
noncomputable def twoFibreProductIsoClassEquiv (U : 𝒞) :
_root_.Quotient
(isIsomorphicSetoid
((TwoFibreProductOver.structureFunctor p𝒳 p𝒴 p𝒵 F G).Fiber U)) ≃
{ab : _root_.Quotient (isIsomorphicSetoid (p𝒳.Fiber U)) ×
_root_.Quotient (isIsomorphicSetoid (p𝒴.Fiber U)) //
(isoClassMap hF).app (op U) ab.1 = (isoClassMap hG).app (op U) ab.2}
CategoryTheory.Functor.twoFibreProductIsoClassMap_naturality, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/FiberedInSetoids.lean, line 852. The attribute's comment: “Naturality: the bijection is an isomorphism of presheaves.”.
Stacks 04SD, naturality: the bijection of
CategoryTheory.Functor.twoFibreProductIsoClassEquivcommutes with restriction along a morphism of𝒞, so it is an isomorphism of presheaves and not merely a family of bijections.
lemma twoFibreProductIsoClassMap_naturality
[(TwoFibreProductOver.structureFunctor p𝒳 p𝒴 p𝒵 F G).IsFibered] {V U : 𝒞} (f : V ⟶ U)
(c : (TwoFibreProductOver.structureFunctor p𝒳 p𝒴 p𝒵 F G).isoClassPresheaf.obj (op U)) :
(twoFibreProductIsoClassMap hF hG V
((TwoFibreProductOver.structureFunctor p𝒳 p𝒴 p𝒵 F G).isoClassPresheaf.map f.op c)).val =
(p𝒳.isoClassPresheaf.map f.op (twoFibreProductIsoClassMap hF hG U c).val.fst,
p𝒴.isoClassPresheaf.map f.op (twoFibreProductIsoClassMap hF hG U c).val.snd)
Sources
Section4.40 Representable categories fibred in groupoids#
Section 4.40 of the Stacks Project, Tag 04SE. 3 tags here are carried by 5 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0046, a definition
Tag 0046 in the Stacks Project.
IsRepresentable, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Representability/Defs.lean, line 51.
A category fibred in groupoids
p : 𝒮 ⥤ 𝒞is representable if there exists an objectXof𝒞and an equivalencej : 𝒮 ≌ Over Xover𝒞.
structure IsRepresentable {𝒞 : Type*} [Category 𝒞] {𝒮 : Type*} [Category 𝒮]
(p : 𝒮 ⥤ 𝒞) [IsFibered p] : Prop
Tag 02Y3, a lemma
Tag 02Y3 in the Stacks Project.
StacksRepresentableCFG.representable_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Representability/Criterion.lean, line 829. The attribute's comment: “(1)”. References: SGA 4 I (6.5), “(ii)⇔(iv), special case”.
Stacks 02Y3 (part 1). A category fibred in groupoids
p : S ⥤ Cis representable if and only ifSis fibred in setoids and its presheaf of isomorphism classes\overline{S}is representable.
theorem representable_iff (p : 𝒮 ⥤ 𝒞) :
IsRepresentable p ↔ (p.IsFiberedInSetoids ∧ IsoClassRepresentable p)
StacksRepresentableCFG.representing_object_unique, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Representability/Criterion.lean, line 841. The attribute's comment: “(2)”.
Stacks 02Y3 (part 2). If
p : S ⥤ Cis representable by bothX(viaj) andX'(viaj'), then the representing objects are canonically isomorphic inC: this is the isomorphismX' ≅ Xinduced by the composite equivalence overC, obtained by transporting the terminal object(X', 𝟙 X')ofOver X'to the terminal object(X, 𝟙 X)ofOver X.
noncomputable def representing_object_unique (p : 𝒮 ⥤ 𝒞)
{X X' : 𝒞} (j : RepresentableBy p X) (j' : RepresentableBy p X') :
X' ≅ X
Tag 04SF, a lemma
Tag 04SF in the Stacks Project.
CategoryTheory.Functor.exists_oneMorphism_inducing_hom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/RepresentableFibred.lean, line 195. The attribute's comment: “Given φ : X ⟶ Y there is a 1-morphism inducing it, unique up to unique 2-isomorphism.”.
Stacks 04SF, the precise form: given
φ : X ⟶ Ythere is a 1-morphismG : 𝒳 ⥤ 𝒴over𝒞which inducesφon isomorphism classes of objects, and any 1-morphism inducingφis related to it by a unique 2-isomorphism. Inducingφis spelled out through the bijections\overline{𝒳}(U) ≃ (U ⟶ X)and\overline{𝒴}(U) ≃ (U ⟶ Y)that representability supplies.
theorem exists_oneMorphism_inducing_hom (φ : X ⟶ Y) :
∃ (G : 𝒳 ⥤ 𝒴) (hG : G ⋙ q = p),
(∀ (U : 𝒞) (c : p.isoClassPresheaf.obj (op U)),
hY.equiv U ((isoClassMapOfCompEq hG).app (op U) c) = hX.equiv U c ≫ φ) ∧
∀ (H : 𝒳 ⥤ 𝒴) (hH : H ⋙ q = p),
(∀ (U : 𝒞) (c : p.isoClassPresheaf.obj (op U)),
hY.equiv U ((isoClassMapOfCompEq hH).app (op U) c) = hX.equiv U c ≫ φ) →
∃! e : G ≅ H, ∀ x : 𝒳, q.IsHomLift (𝟙 (p.obj x)) (e.hom.app x)
CategoryTheory.Functor.twoIsoQuotientEquivHomOfRepresentableBy, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedCategory/RepresentableFibred.lean, line 225.
Stacks 04SF. Let
𝒳,𝒴be categories fibred in groupoids over𝒞representable by objectsX,Yof𝒞. ThenMor_{Cat/𝒞}(𝒳, 𝒴)modulo 2-isomorphism isMor_𝒞(X, Y). The bijection is the composite of Stacks 04SC, which identifies the left-hand side with the maps\overline{𝒳} ⟶ \overline{𝒴}of presheaves of isomorphism classes, with the Yoneda stepCategoryTheory.Functor.isoClassPresheafHomEquiv.
noncomputable def twoIsoQuotientEquivHomOfRepresentableBy :
_root_.Quotient (twoIsoSetoid p q) ≃ (X ⟶ Y)
Sources
Section4.41 The 2-Yoneda lemma#
Section 4.41 of the Stacks Project, Tag 0GWH. 3 tags here are carried by 11 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0GWI, a lemma
Tag 0GWI in the Stacks Project.
CategoryTheory.Functor.FiberedMor, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoYoneda/Fibered.lean, line 67.
A morphism of fibred categories
(𝒞/U, Over.forget U) ⟶ (𝒮, p), i.e. an object of the categoryMor_{Fib/𝒞}(𝒞/U, 𝒮)of Stacks Definition 02XP(2) with source the slice fibration. It is a functor over𝒞— aBasedFunctorbetween the based categories attached toOver.forget Uand top, so the underlying functorOver U ⥤ 𝒮commutes strictly with the projections to𝒞— which in addition preserves strongly Cartesian morphisms.Since the slice projection
Over.forget Uis a fibration in which every morphismg : a ⟶ bofOver Uis strongly Cartesian over its underlying𝒞-arrowg.left = (Over.forget U).map g, the preservation condition specialises to the unconditional requirement thattoFunctor.map gbe strongly Cartesian overg.left.
structure FiberedMor (p : 𝒮 ⥤ 𝒞) (U : 𝒞) extends
BasedCategory.ofFunctor (Over.forget U) ⥤ᵇ BasedCategory.ofFunctor p
CategoryTheory.Functor.fibYonedaEvaluation, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoYoneda/Fibered.lean, line 139.
The evaluation, or "2-Yoneda", functor
ev_U : Mor_{Fib/𝒞}(𝒞/U, 𝒮) ⥤ 𝒮_U,G ↦ G 1_U.On objects it sends a morphism of fibred categories
Gto its value at the terminal object1_U = (U, 𝟙 U)of𝒞/U, which lies in the fibre overUbecauseG ⋙ p = Over.forget U. On a 2-morphismtit returns the component oftat1_U, which lies over𝟙 Uand is therefore a morphism of the fibre.
def fibYonedaEvaluation (p : 𝒮 ⥤ 𝒞) (U : 𝒞) : FiberedMor p U ⥤ p.Fiber U
CategoryTheory.Functor.fibYonedaEvaluation_isEquivalence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoYoneda/Fibered.lean, line 409.
The 2-Yoneda lemma for fibred categories (Stacks 0GWI). For a fibred category
p : 𝒮 ⥤ 𝒞and an objectU : 𝒞, the evaluation functorev_U : Mor_{Fib/𝒞}(𝒞/U, 𝒮) ⥤ 𝒮_U,G ↦ G 1_U, is an equivalence of categories.
theorem fibYonedaEvaluation_isEquivalence (p : 𝒮 ⥤ 𝒞) [p.IsFibered] (U : 𝒞) :
(fibYonedaEvaluation p U).IsEquivalence
Tag 004B, a lemma
Tag 004B in the Stacks Project.
CategoryTheory.Functor.twoYonedaEvaluation, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoYoneda/Basic.lean, line 124.
The evaluation functor
ev : Mor_{Cat/C}(C/U, S) ⥤ S_Uof the 2-Yoneda lemma.On objects it sends a functor over
C,G : C/U ⥤ S(packaged as a based functor), toG(id_U) = G(Over.mk (𝟙 U)), which lies in the fibre overUsincep ∘ G = π_Uandπ_U (Over.mk (𝟙 U)) = U.On a 2-morphism
η : G ⟶ G'(a based natural transformation) it returns the componentη_{(U, 𝟙 U)}, which lies over𝟙 Uand is therefore a morphism ofS_U.
noncomputable def Functor.twoYonedaEvaluation (p : S ⥤ C) (U : C) :
(BasedCategory.ofFunctor (Over.forget U) ⥤ᵇ BasedCategory.ofFunctor p) ⥤ p.Fiber U
CategoryTheory.Functor.twoYonedaEvaluation_isEquivalence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoYoneda/Basic.lean, line 368.
The 2-Yoneda lemma (Stacks 004B). Let
p : S ⥤ Cbe fibred in groupoids and letUbe an object ofC. Then the evaluation functorev : Mor_{Cat/C}(C/U, S) ⥤ S_U,G ↦ G(id_U), is an equivalence of categories.It is faithful, full and essentially surjective by
Functor.twoYonedaEvaluation_faithful,Functor.twoYonedaEvaluation_fullandFunctor.twoYonedaEvaluation_essSurj, and a functor with these three properties is an equivalence.
theorem Functor.twoYonedaEvaluation_isEquivalence (p : S ⥤ C) (hp : p.IsFiberedInGroupoids)
(U : C) : (Functor.twoYonedaEvaluation p U).IsEquivalence
CategoryTheory.Functor.TwoYoneda.liftBasedEvaluationIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoYoneda/RepresentedPoint.lean, line 65. The attribute's comment: “essential surjectivity of evaluation, as data”.
Stacks 004B, essential surjectivity as data. The functor over
Con the sliceC/Uassembled from the chosen cartesian lifts of an objectxof the fibre ofpoverUevaluates at the terminal object to an object canonically isomorphic tox: the chosen lift at𝟙 Uis an arrow of the fibre, and the fibre of a category fibred in groupoids is a groupoid.
noncomputable def liftBasedEvaluationIso (p : S ⥤ C) (hp : p.IsFiberedInGroupoids) (U : C)
(x : p.Fiber U) :
(Functor.twoYonedaEvaluation p U).obj (liftBased p hp U x) ≅ x
CategoryTheory.Functor.TwoYoneda.hom₂OfFiberHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoYoneda/RepresentedPoint.lean, line 80. The attribute's comment: “fullness of evaluation, as data”.
Stacks 004B, fullness as data. The 2-morphism of functors over
Con the sliceC/Urepresenting a morphism of the fibre objects they evaluate to.
noncomputable def hom₂OfFiberHom
(φ : (Functor.twoYonedaEvaluation p U).obj G ⟶ (Functor.twoYonedaEvaluation p U).obj G') :
G ⟶ G'
Tag 076J, a remark
Tag 076J in the Stacks Project.
CategoryTheory.Functor.twoYonedaPresheaf, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoYoneda/SplitModel.lean, line 154.
The contravariant functor
F : 𝒞 ⥤ GroupoidswithF(U) = Mor_{Cat/𝒞}(𝒞/U, 𝒮)andF(f) : F(V) ⥤ F(U)given by precomposition with the functor𝒞/U ⥤ 𝒞/Vinduced byf : U ⟶ V.
noncomputable def Functor.twoYonedaPresheaf (p : 𝒮 ⥤ 𝒞) (hp : p.IsFiberedInGroupoids) :
𝒞ᵒᵖ ⥤ Grpd.{max u₁ v₁ v₂, max u₁ v₁ u₂ v₂}
CategoryTheory.Functor.twoYonedaComparison, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoYoneda/SplitModel.lean, line 237.
The functor
G : 𝒮' ⥤ 𝒮sending the pair(U, x)tox(id_U).
noncomputable def twoYonedaComparison (hp : p.IsFiberedInGroupoids) :
∫ᶜ (p.twoYonedaPresheaf hp ⋙ Grpd.forgetToCat).toPseudofunctor' ⥤
(BasedCategory.ofFunctor p).obj
CategoryTheory.Functor.twoYonedaComparison_comp, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoYoneda/SplitModel.lean, line 287.
The functor
Gis a functor over𝒞: its composite withpis the projection of the category𝒮'attached toF.
lemma twoYonedaComparison_comp (hp : p.IsFiberedInGroupoids) :
p.twoYonedaComparison hp ⋙ p = (presheafOfGroupoids (p.twoYonedaPresheaf hp)).p
CategoryTheory.Functor.twoYonedaComparison_isEquivalenceOver, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/TwoYoneda/SplitModel.lean, line 337.
The functor
Gis an equivalence in the 2-category of categories fibred in groupoids over𝒞: it admits a quasi-inverse which is again a functor over𝒞, and the unit and counit have all their components lying over identity morphisms of𝒞.
theorem twoYonedaComparison_isEquivalenceOver (hp : p.IsFiberedInGroupoids) :
∃ (H : 𝒮 ⥤ (presheafOfGroupoids (p.twoYonedaPresheaf hp)).obj)
(_ : H ⋙ (presheafOfGroupoids (p.twoYonedaPresheaf hp)).p = p)
(η : p.twoYonedaComparison hp ⋙ H ≅ 𝟭 _)
(ε : H ⋙ p.twoYonedaComparison hp ≅ 𝟭 _),
(∀ a, (presheafOfGroupoids (p.twoYonedaPresheaf hp)).p.IsHomLift
(𝟙 ((presheafOfGroupoids (p.twoYonedaPresheaf hp)).p.obj a)) (η.hom.app a)) ∧
(∀ z, p.IsHomLift (𝟙 (p.obj z)) (ε.hom.app z))
Sources
Section4.42 Representable 1-morphisms#
Section 4.42 of the Stacks Project, Tag 02Y4. 6 tags here are carried by 7 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 02Y5, a lemma
Tag 02Y5 in the Stacks Project.
CategoryTheory.TwoFibreProductOver.FstFiber.objEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Representability/Fibres.lean, line 117. The attribute's comment: “(1)”.
Stacks 02Y5 (1). The objects of the fibre category of
(𝒞/U) ×_𝒴 𝒳over an objectf : V ⟶ Uof𝒞/Uare the pairs(x, φ)consisting of an objectxof the fibre𝒳_Vand a morphismφ : G(f) ⟶ F(x)of the fibre𝒴_V.
noncomputable def objEquiv (h𝒴 : p𝒴.IsFiberedInGroupoids) :
(fst (Over.forget U) p𝒳 p𝒴 G F).Fiber f ≃
Σ x : p𝒳.Fiber f.left, {φ : G.obj f ⟶ F.obj x.1 // p𝒴.IsHomLift (𝟙 f.left) φ}
CategoryTheory.TwoFibreProductOver.FstFiber.homEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Representability/Fibres.lean, line 188. The attribute's comment: “(2)”.
Stacks 02Y5 (2). The morphisms of the fibre category of
(𝒞/U) ×_𝒴 𝒳over an objectf : V ⟶ Uof𝒞/Ubetween two objects(x, φ)and(x', φ')are exactly the morphismsψ : x ⟶ x'of the fibre𝒳_VwithF(ψ) = φ' ∘ φ⁻¹.
def homEquiv (A B : (fst (Over.forget U) p𝒳 p𝒴 G F).Fiber f) :
(A ⟶ B) ≃ {ψ : A.1.y ⟶ B.1.y // p𝒳.IsHomLift (𝟙 f.left) ψ ∧
F.map ψ = (phiIso A).inv ≫ (phiIso B).hom}
Tag 02Y6, a lemma
Tag 02Y6 in the Stacks Project.
CategoryTheory.TwoFibreProductOver.fst_isFiberedInGroupoids, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Representability/SliceProduct.lean, line 77.
Stacks 02Y6. Let
𝒳,𝒴be categories fibred in groupoids over𝒞, letF : 𝒳 ⥤ 𝒴andG : 𝒞/U ⥤ 𝒴be 1-morphisms over𝒞. Then the first projection of the 2-fibre product(𝒞/U) ×_𝒴 𝒳 ⟶ 𝒞/Uis a category fibred in groupoids over the slice𝒞/U.
theorem TwoFibreProductOver.fst_isFiberedInGroupoids (U : 𝒞) (p𝒳 : 𝒳 ⥤ 𝒞) (p𝒴 : 𝒴 ⥤ 𝒞)
(F : 𝒳 ⥤ 𝒴) (G : Over U ⥤ 𝒴)
(h𝒳 : p𝒳.IsFiberedInGroupoids) (h𝒴 : p𝒴.IsFiberedInGroupoids)
(hF : F ⋙ p𝒴 = p𝒳) (hG : G ⋙ p𝒴 = Over.forget U) :
(TwoFibreProductOver.fst (Over.forget U) p𝒳 p𝒴 G F).IsFiberedInGroupoids
Tag 02Y7, a definition
Tag 02Y7 in the Stacks Project.
Stacks.RepresentableMorphism.IsRepresentableMorphism, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Representability/FibreFunctors.lean, line 142.
Stacks 02Y7.
F : 𝒳 ⥤ 𝒴(a 1-morphism over𝒞) is representable, equivalently𝒳is relatively representable over𝒴, when for every objectUof𝒞and every 1-morphismG : 𝒞/U ⥤ 𝒴over𝒞(i.e.G ⋙ q = Over.forget U), the first projection(𝒞/U) ×_𝒴 𝒳 ⥤ 𝒞/Uof the 2-fibre product over𝒞is a representable category fibred in groupoids.The source states this for
𝒳,𝒴fibred in groupoids over𝒞; the predicate here does not assume that, so it is the same condition stated for an arbitrary 1-morphism and specialises to the source's notion.
def IsRepresentableMorphism (p : 𝒳 ⥤ 𝒞) (q : 𝒴 ⥤ 𝒞) (F : 𝒳 ⥤ 𝒴) : Prop
Tag 02Y8, a lemma
Tag 02Y8 in the Stacks Project.
Stacks.RepresentableMorphism.inducedFiberFunctor_faithful_of_isRepresentableMorphism, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Representability/FibreFunctors.lean, line 770.
Stacks 02Y8 (Lemma 4.42.4), the stated implication. If
F : 𝒳 ⥤ 𝒴is a representable 1-morphism over𝒞between categories fibred in groupoids, then for every objectUof𝒞the induced functor on fibre categoriesF_U : 𝒳_U ⥤ 𝒴_Uis faithful. The converse is not proved here.
theorem inducedFiberFunctor_faithful_of_isRepresentableMorphism
(p : 𝒳 ⥤ 𝒞) (q : 𝒴 ⥤ 𝒞)
(hq : q.IsFiberedInGroupoids)
(F : 𝒳 ⥤ 𝒴) (hF : F ⋙ q = p)
(hrep : IsRepresentableMorphism p q F) (U : 𝒞) :
(inducedFiberFunctor p q F hF U).Faithful
Tag 02Y9, a lemma
Tag 02Y9 in the Stacks Project.
CategoryTheory.isRepresentableMorphism_of_faithful_of_isRepresentable, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Representability/MorphismCriterion.lean, line 46.
Let
𝒳,𝒴be categories fibred in groupoids over𝒞, letF : 𝒳 ⥤ 𝒴be a 1-morphism over𝒞and letcbe a choice of pullbacks for𝒴. If every functorF_U : 𝒳_U ⥤ 𝒴_Uon fibre categories is faithful, and if for everyUand every objectyof𝒴_Uthe presheaf on𝒞/Uof isomorphism classes of pairs(x, φ : f^* y ⟶ F(x))is representable, thenFis a representable 1-morphism in the sense of Stacks 02Y7.
theorem isRepresentableMorphism_of_faithful_of_isRepresentable (p𝒳 : 𝒳 ⥤ 𝒞) (p𝒴 : 𝒴 ⥤ 𝒞)
(F : 𝒳 ⥤ 𝒴) (hF : F ⋙ p𝒴 = p𝒳) (h𝒳 : p𝒳.IsFiberedInGroupoids)
(h𝒴 : p𝒴.IsFiberedInGroupoids) (c : p𝒴.ChoiceOfPullbacks)
(hfaithful : ∀ U : 𝒞, (Stacks.RepresentableMorphism.inducedFiberFunctor p𝒳 p𝒴 F hF U).Faithful)
(hrepresentable : ∀ (U : 𝒞) (y : p𝒴.Fiber U),
(PairIsoClass.presheaf F c y h𝒳 h𝒴 hF).IsRepresentable) :
Stacks.RepresentableMorphism.IsRepresentableMorphism p𝒳 p𝒴 F
Tag 02YA, a lemma
Tag 02YA in the Stacks Project.
CategoryTheory.Functor.relativelyRepresentable.diagonal_representable_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/FiberedInGroupoids/Representability/Diagonal.lean, line 62.
Stacks 02YA. The diagonal is representable iff every morphism out of a representable object is representable. Here
F : C ⥤ Dis full and preserves binary products and pullbacks (the classifying functor of a category fibred in groupoids),𝒞has products of pairs and fibre products, andX : D.
theorem diagonal_representable_iff
{C : Type*} [Category C] {D : Type*} [Category D] (F : C ⥤ D) (X : D)
[HasPullbacks C] [HasBinaryProducts C]
[HasBinaryProducts D] [HasPullbacks D] [HasTerminal D]
[F.Full] [PreservesLimitsOfShape (Discrete WalkingPair) F]
[PreservesLimitsOfShape WalkingCospan F] :
F.relativelyRepresentable (Limits.diag X) ↔
∀ ⦃a : C⦄ (g : F.obj a ⟶ X), F.relativelyRepresentable g
Sources
Section4.43 Monoidal categories#
Section 4.43 of the Stacks Project, Tag 0FFJ. 10 tags here are carried by 16 declarations of the repository (all in StacksFrontier) and 8 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0FFL, a definition
Tag 0FFL in the Stacks Project.
Declarations registered for the tag:
CategoryTheory.Functor.Monoidalregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 56 (StacksFrontier).
Tag 0FFM, a lemma
Tag 0FFM in the Stacks Project.
CategoryTheory.MonoidalCategory.invertible_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Monoidal/InvertibleObject.lean, line 116.
For an object
Xof a monoidal category, the following are equivalent: 1.tensorLeft Xis an equivalence; 2.tensorRight Xis an equivalence; 3.Xis invertible, i.e. it has a two-sided tensor inverse.
theorem invertible_tfae (X : C) :
[ (tensorLeft X).IsEquivalence,
(tensorRight X).IsEquivalence,
IsInvertible X ].TFAE
Tag 0FFN, a definition
Tag 0FFN in the Stacks Project.
CategoryTheory.MonoidalCategory.HasInverse, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Monoidal/InvertibleObject.lean, line 38.
A two-sided tensor inverse for an object
Xof a monoidal category: an objectinvtogether with isomorphismsX ⊗ inv ≅ 𝟙_ Candinv ⊗ X ≅ 𝟙_ C.
structure HasInverse (X : C)
CategoryTheory.MonoidalCategory.IsInvertible, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Monoidal/InvertibleObject.lean, line 49.
An object
Xof a monoidal category is invertible if it admits a two-sided tensor inverse, i.e. an objectX'withX ⊗ X' ≅ 𝟙_ CandX' ⊗ X ≅ 𝟙_ C.
def IsInvertible (X : C) : Prop
Tag 0FFP, a definition
Tag 0FFP in the Stacks Project.
Declarations registered for the tag:
CategoryTheory.ExactPairingregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 58 (StacksFrontier).
Tag 0FFQ, a lemma
Tag 0FFQ in the Stacks Project.
CategoryTheory.tensorRightHomEquiv_whiskerRight_comp_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Monoidal/DualHomBijections.lean, line 59. The attribute's comment: “first bijection, natural in Z and Z'”.
Stacks Project, Tag 0FFQ, first bijection. If
Yis a left dual ofX(in Mathlib,[ExactPairing X Y]), thentensorRightHomEquiv Z' X Y Z : Mor(Z' ⊗ X, Z) ≃ Mor(Z', Z ⊗ Y)is natural inZandZ': fora : Z₂' ⟶ Z₁'andb : Z₁ ⟶ Z₂it carries(a ⊗ 1_X) ≫ f ≫ btoa ≫ e(f) ≫ (b ⊗ 1_Y).
theorem tensorRightHomEquiv_whiskerRight_comp_comp (X Y : C) [ExactPairing X Y] {Z₁' Z₂' Z₁ Z₂ : C}
(a : Z₂' ⟶ Z₁') (f : Z₁' ⊗ X ⟶ Z₁) (b : Z₁ ⟶ Z₂) :
tensorRightHomEquiv Z₂' X Y Z₂ (a ▷ X ≫ f ≫ b) =
a ≫ tensorRightHomEquiv Z₁' X Y Z₁ f ≫ b ▷ Y
CategoryTheory.tensorLeftHomEquiv_whiskerLeft_comp_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Monoidal/DualHomBijections.lean, line 71. The attribute's comment: “second bijection, natural in Z and Z'”.
Stacks Project, Tag 0FFQ, second bijection. If
Yis a left dual ofX(in Mathlib,[ExactPairing X Y]), thentensorLeftHomEquiv Z' X Y Z : Mor(Y ⊗ Z', Z) ≃ Mor(Z', X ⊗ Z)is natural inZandZ': fora : Z₂' ⟶ Z₁'andb : Z₁ ⟶ Z₂it carries(1_Y ⊗ a) ≫ f ≫ btoa ≫ e(f) ≫ (1_X ⊗ b).
theorem tensorLeftHomEquiv_whiskerLeft_comp_comp (X Y : C) [ExactPairing X Y] {Z₁' Z₂' Z₁ Z₂ : C}
(a : Z₂' ⟶ Z₁') (f : Y ⊗ Z₁' ⟶ Z₁) (b : Z₁ ⟶ Z₂) :
tensorLeftHomEquiv Z₂' X Y Z₂ (Y ◁ a ≫ f ≫ b) =
a ≫ tensorLeftHomEquiv Z₁' X Y Z₁ f ≫ X ◁ b
Declarations registered for the tag:
CategoryTheory.tensorRightAdjunctionregistered withadd_to_stacksin StacksFrontier/CategoryTheory/Monoidal/DualHomBijections.lean, line 82 (StacksFrontier): “first bijection as the adjunction tensorRight X ⊣ tensorRight Y”.CategoryTheory.tensorLeftAdjunctionregistered withadd_to_stacksin StacksFrontier/CategoryTheory/Monoidal/DualHomBijections.lean, line 84 (StacksFrontier): “second bijection as the adjunction tensorLeft Y ⊣ tensorLeft X”.
Tag 0FFR, a remark
Tag 0FFR in the Stacks Project.
CategoryTheory.Adjunction.IsTensorCompatible, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Monoidal/RigidAdjunction.lean, line 93.
An adjunction
adj : tensorRight X ⊣ tensorRight Y, i.e. a bijectionMor(Z' ⊗ X, Z) ≃ Mor(Z', Z ⊗ Y)functorial inZandZ', is compatible with the tensor structure if for allW,Z,Z'the squareMor(Z' ⊗ X, Z) → Mor(Z', Z ⊗ Y) | id_W ⊗ - | id_W ⊗ - v v Mor(W ⊗ Z' ⊗ X, W ⊗ Z) → Mor(W ⊗ Z', W ⊗ Z ⊗ Y)commutes, the two vertical maps being
f ↦ 𝟙 W ⊗ fread through the associators.
def IsTensorCompatible (adj : tensorRight X ⊣ tensorRight Y) : Prop
CategoryTheory.Adjunction.unit_app_comp_tensorEvaluation_whiskerRight, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Monoidal/RigidAdjunction.lean, line 150.
The first identity that an adjunction
tensorRight X ⊣ tensorRight Ysupplies for free, with no compatibility with the tensor structure assumed:(ε ⊗ 1_Y) ∘ η_Y = 1_Y, whereη_Yis the component of the unit atY.
theorem unit_app_comp_tensorEvaluation_whiskerRight :
adj.unit.app Y ≫ adj.tensorEvaluation ▷ Y = (λ_ Y).inv
CategoryTheory.Adjunction.tensorCoevaluation_whiskerRight_comp_counit_app, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Monoidal/RigidAdjunction.lean, line 163.
The second identity that an adjunction
tensorRight X ⊣ tensorRight Ysupplies for free, with no compatibility with the tensor structure assumed:ε_X ∘ (η ⊗ 1_X) = 1_X, whereε_Xis the component of the counit atX.
theorem tensorCoevaluation_whiskerRight_comp_counit_app :
adj.tensorCoevaluation ▷ X ≫ adj.counit.app X = (λ_ X).hom
CategoryTheory.ExactPairing.isTensorCompatible_tensorRightAdjunction, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Monoidal/RigidAdjunction.lean, line 177.
The adjunction
tensorRight X ⊣ tensorRight Yattached to an exact pairing is compatible with the tensor structure.
theorem ExactPairing.isTensorCompatible_tensorRightAdjunction (X Y : C) [ExactPairing X Y] :
(tensorRightAdjunction X Y).IsTensorCompatible
CategoryTheory.Adjunction.IsTensorCompatible.exactPairing, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Monoidal/RigidAdjunction.lean, line 272.
The converse direction of Stacks 0FFR. A tensor-compatible adjunction
tensorRight X ⊣ tensorRight YexhibitsYas a left dual ofX: its candidate coevaluation and evaluation satisfy both triangle identities of an exact pairing.
def exactPairing (h : adj.IsTensorCompatible) : ExactPairing X Y
Declarations registered for the tag:
CategoryTheory.leftDualIsoregistered withadd_to_stacksin StacksFrontier/CategoryTheory/Monoidal/RigidAdjunction.lean, line 287 (StacksFrontier).
Tag 0FFS, a lemma
Tag 0FFS in the Stacks Project.
Declarations registered for the tag:
CategoryTheory.ExactPairing.tensorregistered withadd_to_stacksin StacksFrontier/CategoryTheory/Monoidal/Rigid.lean, line 193 (StacksFrontier).
Tag 0FN8, a lemma
Tag 0FN8 in the Stacks Project.
Declarations registered for the tag:
CategoryTheory.BraidedCategory.exactPairing_swapregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 62 (StacksFrontier).
Tag 0FFY, a definition
Tag 0FFY in the Stacks Project.
Declarations registered for the tag:
CategoryTheory.Functor.Braidedregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch04.lean, line 60 (StacksFrontier).
Tag 0GWJ, a remark
Tag 0GWJ in the Stacks Project.
InternalHom, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Monoidal/InternalHom.lean, line 42. References: SGA 4 IV (10.2).
Definition 1 (Internal hom). An internal hom on a monoidal category
Cconsists of a bifunctorhom : Cᵒᵖ ⥤ C ⥤ C(contravariant in the first variable, covariant in the second) together with, for all objectsX, Y, Z, a bijectionΦ X Y Z : Mor(X, hom(Y, Z)) ≃ Mor(X ⊗ Y, Z)that is natural inX, inY, and inZ.This is the opening clause of Stacks 0GWJ:
Chas an internal hom if for every pairX, Ythere is an objecthom(X, Y)withMor(X, hom(Y, Z)) = Mor(X ⊗ Y, Z)functorially inX, Y, Z.
structure InternalHom (C : Type u) [Category.{v} C] [MonoidalCategory C]
InternalHom.ev, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Monoidal/InternalHom.lean, line 76. The attribute's comment: “(1)”. References: SGA 7 VIII (1.6), “more general”.
Construction of (1) Evaluation.
ev_{X,Y} := Φ (id_{hom(X,Y)}), the image of the identity underΦ.
def ev (X Y : C) : ih.homObj X Y ⊗ X ⟶ Y
InternalHom.comp, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Monoidal/InternalHom.lean, line 84. The attribute's comment: “(2)”.
Construction of (2) Composition.
c_{X,Y,Z}is the image underΦ⁻¹(usingXas the tensoring object) of the compositehom(Y,Z) ⊗ hom(X,Y) ⊗ X → hom(Y,Z) ⊗ Y → Zgiven by(id ⊗ ev_{X,Y})followed byev_{Y,Z}.
def comp (X Y Z : C) : ih.homObj Y Z ⊗ ih.homObj X Y ⟶ ih.homObj X Z
InternalHom.tensorLeftMor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Monoidal/InternalHom.lean, line 92. The attribute's comment: “(3)”.
Construction of (3) Tensor on the left.
t_{X,Y,Z}is the image underΦ⁻¹ofid_Z ⊗ ev_{X,Y} : Z ⊗ hom(X,Y) ⊗ X → Z ⊗ Y.
def tensorLeftMor (X Y Z : C) : Z ⊗ ih.homObj X Y ⟶ ih.homObj X (Z ⊗ Y)
InternalHom.coev, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Monoidal/InternalHom.lean, line 103. The attribute's comment: “(4)”.
Construction of (4) Unit / coevaluation.
η_{X,Y} := ρ_Y⁻¹ ≫ (id_Y ⊗ u_X) ≫ t_{X,X,Y}.
def coev (X Y : C) : Y ⟶ ih.homObj X (Y ⊗ X)
InternalHom.internalCurryMor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Monoidal/InternalHom.lean, line 111. The attribute's comment: “(5)”.
Construction of (5) Internalized currying (symmetric case).
d_{X,Y,Z}is the image underΦ⁻¹(usinghom(X,Y)as the tensoring object) of the compositehom(Y,Z) ⊗ X ⊗ hom(X,Y) → hom(Y,Z) ⊗ hom(X,Y) ⊗ X → hom(Y,Z) ⊗ Y → Z, where the first arrow uses the braidingσ_{X, hom(X,Y)}.
def internalCurryMor [BraidedCategory C] (X Y Z : C) :
ih.homObj Y Z ⊗ X ⟶ ih.homObj (ih.homObj X Y) Z
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.