Documentation

Mathlib.AlgebraicTopology.CechNerve

The Čech Nerve #

This file provides a definition of the Čech nerve associated to an arrow, provided the base category has the correct wide pullbacks.

Several variants are provided, given f : Arrow C:

  1. f.cechNerve is the Čech nerve, considered as a simplicial object in C.
  2. f.augmentedCechNerve is the augmented Čech nerve, considered as an augmented simplicial object in C.
  3. SimplicialObject.cechNerve and SimplicialObject.augmentedCechNerve are functorial versions of 1 resp. 2.

We end the file with a description of the Čech nerve of an arrow X ⟶ ⊤_ C to a terminal object, when C has finite products. We call this cechNerveTerminalFrom. When C is G-Set this gives us EG (the universal cover of the classifying space of G) as a simplicial G-set, which is useful for group cohomology.

def CategoryTheory.Arrow.cechNerve {C : Type u} [CategoryTheory.Category.{v, u} C] (f : CategoryTheory.Arrow C) [∀ (n : ), CategoryTheory.Limits.HasWidePullback f.right (fun (x : Fin (n + 1)) => f.left) fun (x : Fin (n + 1)) => f.hom] :

The Čech nerve associated to an arrow.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem CategoryTheory.Arrow.cechNerve_map {C : Type u} [CategoryTheory.Category.{v, u} C] (f : CategoryTheory.Arrow C) [∀ (n : ), CategoryTheory.Limits.HasWidePullback f.right (fun (x : Fin (n + 1)) => f.left) fun (x : Fin (n + 1)) => f.hom] {X✝ Y✝ : SimplexCategoryᵒᵖ} (g : X✝ Y✝) :
    f.cechNerve.map g = CategoryTheory.Limits.WidePullback.lift (CategoryTheory.Limits.WidePullback.base fun (x : Fin ((Opposite.unop X✝).len + 1)) => f.hom) (fun (i : Fin ((Opposite.unop Y✝).len + 1)) => CategoryTheory.Limits.WidePullback.π (fun (x : Fin ((Opposite.unop X✝).len + 1)) => f.hom) ((SimplexCategory.Hom.toOrderHom g.unop) i))
    @[simp]
    theorem CategoryTheory.Arrow.cechNerve_obj {C : Type u} [CategoryTheory.Category.{v, u} C] (f : CategoryTheory.Arrow C) [∀ (n : ), CategoryTheory.Limits.HasWidePullback f.right (fun (x : Fin (n + 1)) => f.left) fun (x : Fin (n + 1)) => f.hom] (n : SimplexCategoryᵒᵖ) :
    f.cechNerve.obj n = CategoryTheory.Limits.widePullback f.right (fun (x : Fin ((Opposite.unop n).len + 1)) => f.left) fun (x : Fin ((Opposite.unop n).len + 1)) => f.hom
    def CategoryTheory.Arrow.mapCechNerve {C : Type u} [CategoryTheory.Category.{v, u} C] {f g : CategoryTheory.Arrow C} [∀ (n : ), CategoryTheory.Limits.HasWidePullback f.right (fun (x : Fin (n + 1)) => f.left) fun (x : Fin (n + 1)) => f.hom] [∀ (n : ), CategoryTheory.Limits.HasWidePullback g.right (fun (x : Fin (n + 1)) => g.left) fun (x : Fin (n + 1)) => g.hom] (F : f g) :
    f.cechNerve g.cechNerve

    The morphism between Čech nerves associated to a morphism of arrows.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem CategoryTheory.Arrow.mapCechNerve_app {C : Type u} [CategoryTheory.Category.{v, u} C] {f g : CategoryTheory.Arrow C} [∀ (n : ), CategoryTheory.Limits.HasWidePullback f.right (fun (x : Fin (n + 1)) => f.left) fun (x : Fin (n + 1)) => f.hom] [∀ (n : ), CategoryTheory.Limits.HasWidePullback g.right (fun (x : Fin (n + 1)) => g.left) fun (x : Fin (n + 1)) => g.hom] (F : f g) (n : SimplexCategoryᵒᵖ) :

      The augmented Čech nerve associated to an arrow.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem CategoryTheory.Arrow.augmentedCechNerve_right {C : Type u} [CategoryTheory.Category.{v, u} C] (f : CategoryTheory.Arrow C) [∀ (n : ), CategoryTheory.Limits.HasWidePullback f.right (fun (x : Fin (n + 1)) => f.left) fun (x : Fin (n + 1)) => f.hom] :
        f.augmentedCechNerve.right = f.right
        @[simp]
        theorem CategoryTheory.Arrow.augmentedCechNerve_left {C : Type u} [CategoryTheory.Category.{v, u} C] (f : CategoryTheory.Arrow C) [∀ (n : ), CategoryTheory.Limits.HasWidePullback f.right (fun (x : Fin (n + 1)) => f.left) fun (x : Fin (n + 1)) => f.hom] :
        f.augmentedCechNerve.left = f.cechNerve
        @[simp]
        theorem CategoryTheory.Arrow.augmentedCechNerve_hom_app {C : Type u} [CategoryTheory.Category.{v, u} C] (f : CategoryTheory.Arrow C) [∀ (n : ), CategoryTheory.Limits.HasWidePullback f.right (fun (x : Fin (n + 1)) => f.left) fun (x : Fin (n + 1)) => f.hom] (x✝ : SimplexCategoryᵒᵖ) :
        f.augmentedCechNerve.hom.app x✝ = CategoryTheory.Limits.WidePullback.base fun (x : Fin ((Opposite.unop x✝).len + 1)) => f.hom
        def CategoryTheory.Arrow.mapAugmentedCechNerve {C : Type u} [CategoryTheory.Category.{v, u} C] {f g : CategoryTheory.Arrow C} [∀ (n : ), CategoryTheory.Limits.HasWidePullback f.right (fun (x : Fin (n + 1)) => f.left) fun (x : Fin (n + 1)) => f.hom] [∀ (n : ), CategoryTheory.Limits.HasWidePullback g.right (fun (x : Fin (n + 1)) => g.left) fun (x : Fin (n + 1)) => g.hom] (F : f g) :
        f.augmentedCechNerve g.augmentedCechNerve

        The morphism between augmented Čech nerve associated to a morphism of arrows.

        Equations
        Instances For
          @[simp]
          theorem CategoryTheory.Arrow.mapAugmentedCechNerve_left {C : Type u} [CategoryTheory.Category.{v, u} C] {f g : CategoryTheory.Arrow C} [∀ (n : ), CategoryTheory.Limits.HasWidePullback f.right (fun (x : Fin (n + 1)) => f.left) fun (x : Fin (n + 1)) => f.hom] [∀ (n : ), CategoryTheory.Limits.HasWidePullback g.right (fun (x : Fin (n + 1)) => g.left) fun (x : Fin (n + 1)) => g.hom] (F : f g) :
          @[simp]
          theorem CategoryTheory.Arrow.mapAugmentedCechNerve_right {C : Type u} [CategoryTheory.Category.{v, u} C] {f g : CategoryTheory.Arrow C} [∀ (n : ), CategoryTheory.Limits.HasWidePullback f.right (fun (x : Fin (n + 1)) => f.left) fun (x : Fin (n + 1)) => f.hom] [∀ (n : ), CategoryTheory.Limits.HasWidePullback g.right (fun (x : Fin (n + 1)) => g.left) fun (x : Fin (n + 1)) => g.hom] (F : f g) :

          The Čech nerve construction, as a functor from Arrow C.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem CategoryTheory.SimplicialObject.cechNerve_obj {C : Type u} [CategoryTheory.Category.{v, u} C] [∀ (n : ) (f : CategoryTheory.Arrow C), CategoryTheory.Limits.HasWidePullback f.right (fun (x : Fin (n + 1)) => f.left) fun (x : Fin (n + 1)) => f.hom] (f : CategoryTheory.Arrow C) :

            The augmented Čech nerve construction, as a functor from Arrow C.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem CategoryTheory.SimplicialObject.augmentedCechNerve_obj_left_map {C : Type u} [CategoryTheory.Category.{v, u} C] [∀ (n : ) (f : CategoryTheory.Arrow C), CategoryTheory.Limits.HasWidePullback f.right (fun (x : Fin (n + 1)) => f.left) fun (x : Fin (n + 1)) => f.hom] (f : CategoryTheory.Arrow C) {X✝ Y✝ : SimplexCategoryᵒᵖ} (g : X✝ Y✝) :
              @[simp]
              theorem CategoryTheory.SimplicialObject.augmentedCechNerve_map_right {C : Type u} [CategoryTheory.Category.{v, u} C] [∀ (n : ) (f : CategoryTheory.Arrow C), CategoryTheory.Limits.HasWidePullback f.right (fun (x : Fin (n + 1)) => f.left) fun (x : Fin (n + 1)) => f.hom] {X✝ Y✝ : CategoryTheory.Arrow C} (F : X✝ Y✝) :
              @[simp]
              theorem CategoryTheory.SimplicialObject.augmentedCechNerve_obj_left_obj {C : Type u} [CategoryTheory.Category.{v, u} C] [∀ (n : ) (f : CategoryTheory.Arrow C), CategoryTheory.Limits.HasWidePullback f.right (fun (x : Fin (n + 1)) => f.left) fun (x : Fin (n + 1)) => f.hom] (f : CategoryTheory.Arrow C) (n : SimplexCategoryᵒᵖ) :
              (CategoryTheory.SimplicialObject.augmentedCechNerve.obj f).left.obj n = CategoryTheory.Limits.widePullback f.right (fun (x : Fin ((Opposite.unop n).len + 1)) => f.left) fun (x : Fin ((Opposite.unop n).len + 1)) => f.hom

              A helper function used in defining the Čech adjunction.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]

                A helper function used in defining the Čech adjunction.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  A helper function used in defining the Čech adjunction.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[reducible, inline]

                    The augmented Čech nerve construction is right adjoint to the toArrow functor.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def CategoryTheory.Arrow.cechConerve {C : Type u} [CategoryTheory.Category.{v, u} C] (f : CategoryTheory.Arrow C) [∀ (n : ), CategoryTheory.Limits.HasWidePushout f.left (fun (x : Fin (n + 1)) => f.right) fun (x : Fin (n + 1)) => f.hom] :

                      The Čech conerve associated to an arrow.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        @[simp]
                        theorem CategoryTheory.Arrow.cechConerve_map {C : Type u} [CategoryTheory.Category.{v, u} C] (f : CategoryTheory.Arrow C) [∀ (n : ), CategoryTheory.Limits.HasWidePushout f.left (fun (x : Fin (n + 1)) => f.right) fun (x : Fin (n + 1)) => f.hom] {x y : SimplexCategory} (g : x y) :
                        f.cechConerve.map g = CategoryTheory.Limits.WidePushout.desc (CategoryTheory.Limits.WidePushout.head fun (x : Fin (y.len + 1)) => f.hom) (fun (i : Fin (x.len + 1)) => CategoryTheory.Limits.WidePushout.ι (fun (x : Fin (y.len + 1)) => f.hom) ((SimplexCategory.Hom.toOrderHom g) i))
                        @[simp]
                        theorem CategoryTheory.Arrow.cechConerve_obj {C : Type u} [CategoryTheory.Category.{v, u} C] (f : CategoryTheory.Arrow C) [∀ (n : ), CategoryTheory.Limits.HasWidePushout f.left (fun (x : Fin (n + 1)) => f.right) fun (x : Fin (n + 1)) => f.hom] (n : SimplexCategory) :
                        f.cechConerve.obj n = CategoryTheory.Limits.widePushout f.left (fun (x : Fin (n.len + 1)) => f.right) fun (x : Fin (n.len + 1)) => f.hom
                        def CategoryTheory.Arrow.mapCechConerve {C : Type u} [CategoryTheory.Category.{v, u} C] {f g : CategoryTheory.Arrow C} [∀ (n : ), CategoryTheory.Limits.HasWidePushout f.left (fun (x : Fin (n + 1)) => f.right) fun (x : Fin (n + 1)) => f.hom] [∀ (n : ), CategoryTheory.Limits.HasWidePushout g.left (fun (x : Fin (n + 1)) => g.right) fun (x : Fin (n + 1)) => g.hom] (F : f g) :
                        f.cechConerve g.cechConerve

                        The morphism between Čech conerves associated to a morphism of arrows.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          @[simp]
                          theorem CategoryTheory.Arrow.mapCechConerve_app {C : Type u} [CategoryTheory.Category.{v, u} C] {f g : CategoryTheory.Arrow C} [∀ (n : ), CategoryTheory.Limits.HasWidePushout f.left (fun (x : Fin (n + 1)) => f.right) fun (x : Fin (n + 1)) => f.hom] [∀ (n : ), CategoryTheory.Limits.HasWidePushout g.left (fun (x : Fin (n + 1)) => g.right) fun (x : Fin (n + 1)) => g.hom] (F : f g) (n : SimplexCategory) :

                          The augmented Čech conerve associated to an arrow.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            @[simp]
                            theorem CategoryTheory.Arrow.augmentedCechConerve_hom_app {C : Type u} [CategoryTheory.Category.{v, u} C] (f : CategoryTheory.Arrow C) [∀ (n : ), CategoryTheory.Limits.HasWidePushout f.left (fun (x : Fin (n + 1)) => f.right) fun (x : Fin (n + 1)) => f.hom] (x✝ : SimplexCategory) :
                            f.augmentedCechConerve.hom.app x✝ = CategoryTheory.Limits.WidePushout.head fun (x : Fin (x✝.len + 1)) => f.hom
                            @[simp]
                            theorem CategoryTheory.Arrow.augmentedCechConerve_left {C : Type u} [CategoryTheory.Category.{v, u} C] (f : CategoryTheory.Arrow C) [∀ (n : ), CategoryTheory.Limits.HasWidePushout f.left (fun (x : Fin (n + 1)) => f.right) fun (x : Fin (n + 1)) => f.hom] :
                            f.augmentedCechConerve.left = f.left
                            @[simp]
                            theorem CategoryTheory.Arrow.augmentedCechConerve_right {C : Type u} [CategoryTheory.Category.{v, u} C] (f : CategoryTheory.Arrow C) [∀ (n : ), CategoryTheory.Limits.HasWidePushout f.left (fun (x : Fin (n + 1)) => f.right) fun (x : Fin (n + 1)) => f.hom] :
                            f.augmentedCechConerve.right = f.cechConerve
                            def CategoryTheory.Arrow.mapAugmentedCechConerve {C : Type u} [CategoryTheory.Category.{v, u} C] {f g : CategoryTheory.Arrow C} [∀ (n : ), CategoryTheory.Limits.HasWidePushout f.left (fun (x : Fin (n + 1)) => f.right) fun (x : Fin (n + 1)) => f.hom] [∀ (n : ), CategoryTheory.Limits.HasWidePushout g.left (fun (x : Fin (n + 1)) => g.right) fun (x : Fin (n + 1)) => g.hom] (F : f g) :
                            f.augmentedCechConerve g.augmentedCechConerve

                            The morphism between augmented Čech conerves associated to a morphism of arrows.

                            Equations
                            Instances For
                              @[simp]
                              theorem CategoryTheory.Arrow.mapAugmentedCechConerve_right {C : Type u} [CategoryTheory.Category.{v, u} C] {f g : CategoryTheory.Arrow C} [∀ (n : ), CategoryTheory.Limits.HasWidePushout f.left (fun (x : Fin (n + 1)) => f.right) fun (x : Fin (n + 1)) => f.hom] [∀ (n : ), CategoryTheory.Limits.HasWidePushout g.left (fun (x : Fin (n + 1)) => g.right) fun (x : Fin (n + 1)) => g.hom] (F : f g) :
                              @[simp]
                              theorem CategoryTheory.Arrow.mapAugmentedCechConerve_left {C : Type u} [CategoryTheory.Category.{v, u} C] {f g : CategoryTheory.Arrow C} [∀ (n : ), CategoryTheory.Limits.HasWidePushout f.left (fun (x : Fin (n + 1)) => f.right) fun (x : Fin (n + 1)) => f.hom] [∀ (n : ), CategoryTheory.Limits.HasWidePushout g.left (fun (x : Fin (n + 1)) => g.right) fun (x : Fin (n + 1)) => g.hom] (F : f g) :

                              The Čech conerve construction, as a functor from Arrow C.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                @[simp]

                                The augmented Čech conerve construction, as a functor from Arrow C.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  @[simp]

                                  A helper function used in defining the Čech conerve adjunction.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For

                                    A helper function used in defining the Čech conerve adjunction.

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For

                                      A helper function used in defining the Čech conerve adjunction.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        @[reducible, inline]

                                        The augmented Čech conerve construction is left adjoint to the toArrow functor.

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For

                                          Given an object X : C, the natural simplicial object sending [n] to Xⁿ⁺¹.

                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For

                                            The product Xᶥ is the vertex of a limit cone on wideCospan ι X.

                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For

                                              the isomorphism to the product induced by the limit cone wideCospan ι X

                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For

                                                Given an object X : C, the Čech nerve of the hom to the terminal object X ⟶ ⊤_ C is naturally isomorphic to a simplicial object sending [n] to Xⁿ⁺¹ (when C is G-Set, this is EG, the universal cover of the classifying space of G.

                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For