Documentation

Mathlib.CategoryTheory.Sites.Precoverage

Precoverages #

A precoverage K on a category C is a set of presieves associated to every object X : C, called "covering presieves". There are no conditions on this set. Common extensions of a precoverage are:

These two are defined in later files. For precoverages, we define stability conditions:

structure CategoryTheory.Precoverage (C : Type u_1) [Category.{u_2, u_1} C] :
Type (max u_1 u_2)

A precoverage is a collection of covering presieves on every object X : C. See CategoryTheory.Coverage and CategoryTheory.Pretopology for common extensions of this.

  • coverings (X : C) : Set (Presieve X)

    The collection of covering presieves for an object X.

Instances For
    theorem CategoryTheory.Precoverage.ext {C : Type u_1} {inst✝ : Category.{u_2, u_1} C} {x y : Precoverage C} (coverings : x.coverings = y.coverings) :
    x = y
    Equations
    • One or more equations did not get rendered due to their size.
    Equations
    Equations

    A precoverage has isomorphisms if singleton presieves by isomorphisms are covering.

    Instances

      A precoverage is stable under base change if pullbacks of covering presieves are covering presieves. Note: This is stronger than the analogous requirement for a Pretopology, because IsPullback does not imply equality with the (arbitrarily) chosen pullbacks in C.

      Instances

        A precoverage is stable under composition if the indexed composition of coverings is again a covering. Note: This is stronger than the analogous requirement for a Pretopology, because this is in general not equal to a Presieve.bind.

        Instances

          A precoverage is stable under if whenever R and S are coverings, also R ⊔ S is a covering.

          Instances
            theorem CategoryTheory.Precoverage.mem_coverings_of_isPullback {C : Type u} {inst✝ : Category.{v, u} C} {J : Precoverage C} [self : J.IsStableUnderBaseChange] {ι : Type w} {S : C} {X : ιC} (f : (i : ι) → X i S) (hR : Presieve.ofArrows X f J.coverings S) {Y : C} (g : Y S) {P : ιC} (p₁ : (i : ι) → P i Y) (p₂ : (i : ι) → P i X i) (h : ∀ (i : ι), IsPullback (p₁ i) (p₂ i) g (f i)) :

            Alias of CategoryTheory.Precoverage.IsStableUnderBaseChange.mem_coverings_of_isPullback.

            theorem CategoryTheory.Precoverage.comp_mem_coverings {C : Type u} {inst✝ : Category.{v, u} C} {J : Precoverage C} [self : J.IsStableUnderComposition] {ι : Type w} {S : C} {X : ιC} (f : (i : ι) → X i S) (hf : Presieve.ofArrows X f J.coverings S) {σ : ιType w'} {Y : (i : ι) → σ iC} (g : (i : ι) → (j : σ i) → Y i j X i) (hg : ∀ (i : ι), Presieve.ofArrows (Y i) (g i) J.coverings (X i)) :
            (Presieve.ofArrows (fun (p : (i : ι) × σ i) => Y p.fst p.snd) fun (x : (i : ι) × σ i) => CategoryStruct.comp (g x.fst x.snd) (f x.fst)) J.coverings S

            Alias of CategoryTheory.Precoverage.IsStableUnderComposition.comp_mem_coverings.

            If J is a precoverage on D, we obtain a precoverage on C by declaring a presieve on D to be covering if its image under F is.

            Equations
            Instances For
              @[simp]
              theorem CategoryTheory.Precoverage.mem_comap_iff {C : Type u} [Category.{v, u} C] {D : Type u_1} [Category.{u_2, u_1} D] {F : Functor C D} {J : Precoverage D} {X : C} {R : Presieve X} :
              theorem CategoryTheory.Precoverage.comap_inf {C : Type u} [Category.{v, u} C] {D : Type u_1} [Category.{u_2, u_1} D] {F : Functor C D} {J K : Precoverage D} :
              comap F (JK) = comap F Jcomap F K