Documentation

Mathlib.CategoryTheory.Sites.CoversTop

Objects which cover the terminal object

In this file, given a site (C, J), we introduce the notion of a family of objects Y : I → C which "cover the final object": this means that for all X : C, the sieve Sieve.ofObjects Y X is covering for J. When there is a terminal object X : C, then J.CoversTop Y holds iff Sieve.ofObjects Y X is covering for J.

We introduce a notion of compatible family of elements on objects Y and obtain Presheaf.FamilyOfElementsOnObjects.IsCompatible.exists_unique_section which asserts that if a presheaf of types is a sheaf, then any compatible family of elements on objects Y which cover the final object extends as a section of this presheaf.

A family of objects Y : I → C "covers the final object" if for all X : C, the sieve ofObjects Y X is a covering sieve.

Equations
Instances For
    @[inline, reducible]

    The cover of any object W : C attached to a family of objects Y that satisfy J.CoversTop Y

    Equations
    Instances For

      A family of elements of a presheaf of types F indexed by a family of objects Y : I → C consists of the data of an element in F.obj (Opposite.op (Y i)) for all i.

      Equations
      Instances For

        x : FamilyOfElementsOnObjects F Y is compatible if for any object Z such that there exists a morphism f : Z → Y i, then the pullback of x i by f is independent of f and i.

        Equations
        Instances For

          A family of elements indexed by Sieve.ofObjects Y X that is induced by x : FamilyOfElementsOnObjects F Y. See the equational lemma IsCompatible.familyOfElements_apply which holds under the assumption x.IsCompatible.

          Equations
          Instances For