Module

CategoricalDescent.lean

Nyll.EtaleFundamentalGroups.GenericTensor.FilteredColimit.CategoricalDescent
8 declarations indexed from sourceView source ↗

Finite-presentation descent through the actual pushout functor

The only compactness inputs are finite presentability of the two original models. No descent map, comparison, or inverse equation is an input field.

Imports8
Imported by4

Declarations

CategoryTheory.CategoricalTensorDescent.map_preservesColimit

Restriction along an arrow preserves connected colimits: after forgetting the base arrow it is the original underlying diagram.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u v w
namespace CategoryTheory.CategoricalTensorDescent
variable {C : Type u} [Category.{v} C] {R : C}
theorem map_preservesColimit
    {J : Type w} [SmallCategory J] [IsFiltered J]
    {X Y : C} (f : X ⟶ Y) (F : J ⥤ Under Y) :
    PreservesColimit F (Under.map f)
CategoryTheory.CategoricalTensorDescent.coefficientFunctor_preservesColimit

Push out along the model and restrict the base. Both colimit-preservation facts are supplied by existing adjunction and connected-colimit machinery.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u v w
namespace CategoryTheory.CategoricalTensorDescent
variable {C : Type u} [Category.{v} C] {R : C}
variable [HasPushouts C]
theorem coefficientFunctor_preservesColimit
    {J : Type w} [SmallCategory J] [IsFiltered J]
    (D : Under R) (F : J ⥤ Under R) :
    PreservesColimit F (coefficientFunctor D)
CategoryTheory.CategoricalTensorDescent.exists_hom_stage

An arbitrary map after coefficient colimit descends from its transpose, using compactness of the original source model.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u v w
namespace CategoryTheory.CategoricalTensorDescent
variable {C : Type u} [Category.{v} C] {R : C}
variable [HasPushouts C]
theorem exists_hom_stage
    {J : Type w} [SmallCategory J] [IsFiltered J]
    (B D : Under R) [IsFinitelyPresentable.{w} B]
    (F : J ⥤ Under R) (c : Cocone F) (hc : IsColimit c)
    (f : model c.pt B ⟶ model c.pt D) :
    ∃ (i : J) (fi : model (F.obj i) B ⟶ model (F.obj i) D),
      extend (c.ι.app i) fi = f
CategoryTheory.CategoricalTensorDescent.exists_eq_stage

Equality after passage to the coefficient colimit holds at a later stage. Compactness is applied to the original source, not to the stage coefficient.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u v w
namespace CategoryTheory.CategoricalTensorDescent
variable {C : Type u} [Category.{v} C] {R : C}
variable [HasPushouts C]
theorem exists_eq_stage
    {J : Type w} [SmallCategory J] [IsFiltered J]
    (B D : Under R) [IsFinitelyPresentable.{w} B]
    (F : J ⥤ Under R) (c : Cocone F) (hc : IsColimit c)
    (i : J) (f g : model (F.obj i) B ⟶ model (F.obj i) D)
    (hfg : extend (c.ι.app i) f = extend (c.ι.app i) g) :
    ∃ (j : J) (hij : i ⟶ j), extend (F.map hij) f = extend (F.map hij) g
CategoryTheory.CategoricalTensorDescent.extend_to_colimit

Extending a descended map farther along the diagram preserves its exact image at the colimit. This is functoriality and the cocone equation.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u v w
namespace CategoryTheory.CategoricalTensorDescent
variable {C : Type u} [Category.{v} C] {R : C}
variable [HasPushouts C]
theorem extend_to_colimit
    {J : Type w} [SmallCategory J]
    {B D : Under R} (F : J ⥤ Under R) (c : Cocone F)
    {i j : J} (h : i ⟶ j) (f : model (F.obj i) B ⟶ model (F.obj i) D) :
    extend (c.ι.app j) (extend (F.map h) f) = extend (c.ι.app i) f
CategoryTheory.CategoricalTensorDescent.exists_hom_pair_stage

Both arbitrary arrows descend to a common coefficient stage.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u v w
namespace CategoryTheory.CategoricalTensorDescent
variable {C : Type u} [Category.{v} C] {R : C}
variable [HasPushouts C]
theorem exists_hom_pair_stage
    {J : Type w} [SmallCategory J] [IsFiltered J]
    (B D : Under R) [IsFinitelyPresentable.{w} B] [IsFinitelyPresentable.{w} D]
    (F : J ⥤ Under R) (c : Cocone F) (hc : IsColimit c)
    (f : model c.pt B ⟶ model c.pt D) (g : model c.pt D ⟶ model c.pt B) :
    ∃ (k : J) (fk : model (F.obj k) B ⟶ model (F.obj k) D)
      (gk : model (F.obj k) D ⟶ model (F.obj k) B),
      extend (c.ι.app k) fk = f ∧ extend (c.ι.app k) gk = g
CategoryTheory.CategoricalTensorDescent.exists_inverse_pair_stage

The two inverse equations can be imposed consecutively along a common tail. The first survives the second extension by functoriality.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u v w
namespace CategoryTheory.CategoricalTensorDescent
variable {C : Type u} [Category.{v} C] {R : C}
variable [HasPushouts C]
theorem exists_inverse_pair_stage
    {J : Type w} [SmallCategory J] [IsFiltered J]
    (B D : Under R) [IsFinitelyPresentable.{w} B] [IsFinitelyPresentable.{w} D]
    (F : J ⥤ Under R) (c : Cocone F) (hc : IsColimit c)
    (e : model c.pt B ≅ model c.pt D) :
    ∃ (k : J) (fk : model (F.obj k) B ⟶ model (F.obj k) D)
      (gk : model (F.obj k) D ⟶ model (F.obj k) B),
      fk ≫ gk = 𝟙 (model (F.obj k) B) ∧
      gk ≫ fk = 𝟙 (model (F.obj k) D) ∧
      extend (c.ι.app k) fk = e.hom ∧ extend (c.ι.app k) gk = e.inv
CategoryTheory.CategoricalTensorDescent.exists_iso_stage

An arbitrary base-changed isomorphism descends, retaining both exact coefficient-extension equations.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u v w
namespace CategoryTheory.CategoricalTensorDescent
variable {C : Type u} [Category.{v} C] {R : C}
variable [HasPushouts C]
theorem exists_iso_stage
    {J : Type w} [SmallCategory J] [IsFiltered J]
    (B D : Under R) [IsFinitelyPresentable.{w} B] [IsFinitelyPresentable.{w} D]
    (F : J ⥤ Under R) (c : Cocone F) (hc : IsColimit c)
    (e : model c.pt B ≅ model c.pt D) :
    ∃ (k : J) (ek : model (F.obj k) B ≅ model (F.obj k) D),
      extend (c.ι.app k) ek.hom = e.hom ∧ extend (c.ι.app k) ek.inv = e.inv