Documentation

Mathlib.AlgebraicTopology.SimplexCategory

The simplex category #

We construct a skeletal model of the simplex category, with objects and the morphism n ⟶ m being the monotone maps from Fin (n+1) to Fin (m+1).

We show that this category is equivalent to NonemptyFinLinOrd.

Remarks #

The definitions SimplexCategory and SimplexCategory.Hom are marked as irreducible.

We provide the following functions to work with these objects:

  1. SimplexCategory.mk creates an object of SimplexCategory out of a natural number. Use the notation [n] in the Simplicial locale.
  2. SimplexCategory.len gives the "length" of an object of SimplexCategory, as a natural.
  3. SimplexCategory.Hom.mk makes a morphism out of a monotone map between Fin's.
  4. SimplexCategory.Hom.toOrderHom gives the underlying monotone map associated to a term of SimplexCategory.Hom.
@[irreducible]

The simplex category:

  • objects are natural numbers n : ℕ
  • morphisms from n to m are monotone functions Fin (n+1) → Fin (m+1)
Equations
Instances For

    Interpret a natural number as an object of the simplex category.

    Equations
    Instances For

      the n-dimensional simplex can be denoted [n]

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

        The length of an object of SimplexCategory.

        Equations
        • n.len = n
        Instances For
          theorem SimplexCategory.ext (a b : SimplexCategory) :
          a.len = b.lena = b
          @[simp]
          def SimplexCategory.rec {F : SimplexCategorySort u_1} (h : (n : ) → F (SimplexCategory.mk n)) (X : SimplexCategory) :
          F X

          A recursor for SimplexCategory. Use it as induction Δ using SimplexCategory.rec.

          Equations
          Instances For
            @[irreducible]

            Morphisms in the SimplexCategory.

            Equations
            Instances For
              def SimplexCategory.Hom.mk {a b : SimplexCategory} (f : Fin (a.len + 1) →o Fin (b.len + 1)) :
              a.Hom b

              Make a morphism in SimplexCategory from a monotone map of Fin's.

              Equations
              Instances For
                def SimplexCategory.Hom.toOrderHom {a b : SimplexCategory} (f : a.Hom b) :
                Fin (a.len + 1) →o Fin (b.len + 1)

                Recover the monotone map from a morphism in the simplex category.

                Equations
                • f.toOrderHom = f
                Instances For
                  theorem SimplexCategory.Hom.ext' {a b : SimplexCategory} (f g : a.Hom b) :
                  f.toOrderHom = g.toOrderHomf = g
                  @[simp]
                  theorem SimplexCategory.Hom.mk_toOrderHom {a b : SimplexCategory} (f : a.Hom b) :
                  SimplexCategory.Hom.mk f.toOrderHom = f
                  @[simp]
                  theorem SimplexCategory.Hom.toOrderHom_mk {a b : SimplexCategory} (f : Fin (a.len + 1) →o Fin (b.len + 1)) :
                  (SimplexCategory.Hom.mk f).toOrderHom = f
                  theorem SimplexCategory.Hom.mk_toOrderHom_apply {a b : SimplexCategory} (f : Fin (a.len + 1) →o Fin (b.len + 1)) (i : Fin (a.len + 1)) :
                  (SimplexCategory.Hom.mk f).toOrderHom i = f i

                  Identity morphisms of SimplexCategory.

                  Equations
                  Instances For
                    def SimplexCategory.Hom.comp {a b c : SimplexCategory} (f : b.Hom c) (g : a.Hom b) :
                    a.Hom c

                    Composition of morphisms of SimplexCategory.

                    Equations
                    Instances For
                      def SimplexCategory.const (x y : SimplexCategory) (i : Fin (y.len + 1)) :
                      x y

                      The constant morphism from [0].

                      Equations
                      Instances For
                        @[simp]
                        theorem SimplexCategory.const_apply (x y : SimplexCategory) (i : Fin (y.len + 1)) (a : Fin (x.len + 1)) :
                        (SimplexCategory.Hom.toOrderHom (x.const y i)) a = i
                        @[simp]
                        theorem SimplexCategory.const_comp (x : SimplexCategory) {y z : SimplexCategory} (f : y z) (i : Fin (y.len + 1)) :

                        Make a morphism [n] ⟶ [m] from a monotone map between fin's. This is useful for constructing morphisms between [n] directly without identifying n with [n].len.

                        Equations
                        Instances For

                          The morphism [1] ⟶ [n] that picks out a specified h : i ≤ j in Fin (n+1).

                          Equations
                          Instances For

                            The morphism [1] ⟶ [n] that picks out the "diagonal composite" edge

                            Equations
                            Instances For

                              The morphism [1] ⟶ [n] that picks out the edge spanning the interval from j to j + l.

                              Equations
                              Instances For

                                The morphism [1] ⟶ [n] that picks out the arrow i ⟶ i+1 in Fin (n+1).

                                Equations
                                Instances For
                                  def SimplexCategory.mkOfLeComp {n : } (i j k : Fin (n + 1)) (h₁ : i j) (h₂ : j k) :

                                  The morphism [2] ⟶ [n] that picks out a specified composite of morphisms in Fin (n+1).

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

                                    The "inert" morphism associated to a subinterval j ≤ i ≤ j + l of Fin (n + 1).

                                    Equations
                                    Instances For

                                      Generating maps for the simplex category #

                                      TODO: prove that the simplex category is equivalent to one given by the following generators and relations.

                                      The i-th face map from [n] to [n+1]

                                      Equations
                                      Instances For

                                        The i-th degeneracy map from [n+1] to [n]

                                        Equations
                                        Instances For

                                          The generic case of the first simplicial identity

                                          The second simplicial identity

                                          The fourth simplicial identity

                                          If f : [m] ⟶ [n+1] is a morphism and j is not in the range of f, then factor_δ f j is a morphism [m] ⟶ [n] such that factor_δ f j ≫ δ j = f (as witnessed by factor_δ_spec).

                                          Equations
                                          Instances For

                                            The functor that exhibits SimplexCategory as skeleton of NonemptyFinLinOrd

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

                                              The truncated simplex category.

                                              Equations
                                              Instances For
                                                Equations
                                                • SimplexCategory.Truncated.instInhabited = { default := { obj := SimplexCategory.mk 0, property := } }

                                                The fully faithful inclusion of the truncated simplex category into the usual simplex category.

                                                Equations
                                                Instances For
                                                  instance SimplexCategory.Truncated.instFullInclusion (n : ) :
                                                  SimplexCategory.Truncated.inclusion.Full
                                                  Equations
                                                  • =
                                                  instance SimplexCategory.Truncated.instFaithfulInclusion (n : ) :
                                                  SimplexCategory.Truncated.inclusion.Faithful
                                                  Equations
                                                  • =
                                                  noncomputable def SimplexCategory.Truncated.inclusion.fullyFaithful (n : ) :
                                                  SimplexCategory.Truncated.inclusion.op.FullyFaithful

                                                  A proof that the full subcategory inclusion is fully faithful.

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

                                                    A morphism in SimplexCategory is a monomorphism precisely when it is an injective function

                                                    A morphism in SimplexCategory is an epimorphism if and only if it is a surjective function

                                                    theorem SimplexCategory.len_le_of_mono {x y : SimplexCategory} {f : x y} :
                                                    CategoryTheory.Mono fx.len y.len

                                                    A monomorphism in SimplexCategory must increase lengths

                                                    theorem SimplexCategory.len_le_of_epi {x y : SimplexCategory} {f : x y} :
                                                    CategoryTheory.Epi fy.len x.len

                                                    An epimorphism in SimplexCategory must decrease lengths

                                                    Equations
                                                    • =
                                                    Equations
                                                    • =
                                                    def SimplexCategory.orderIsoOfIso {x y : SimplexCategory} (e : x y) :
                                                    Fin (x.len + 1) ≃o Fin (y.len + 1)

                                                    An isomorphism in SimplexCategory induces an OrderIso.

                                                    Equations
                                                    Instances For
                                                      theorem SimplexCategory.len_lt_of_mono {Δ' Δ : SimplexCategory} (i : Δ' Δ) [hi : CategoryTheory.Mono i] (hi' : Δ Δ') :
                                                      Δ'.len < Δ.len
                                                      theorem SimplexCategory.image_eq {Δ Δ' Δ'' : SimplexCategory} {φ : Δ Δ''} {e : Δ Δ'} [CategoryTheory.Epi e] {i : Δ' Δ''} [CategoryTheory.Mono i] (fac : CategoryTheory.CategoryStruct.comp e i = φ) :

                                                      This functor SimplexCategory ⥤ Cat sends [n] (for n : ℕ) to the category attached to the ordered set {0, 1, ..., n}

                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      Instances For
                                                        @[simp]
                                                        theorem SimplexCategory.toCat_map {X✝ Y✝ : SimplexCategory} (f : X✝ Y✝) :
                                                        SimplexCategory.toCat.map f = .functor