Documentation

Mathlib.AlgebraicTopology.SimplexCategory.Defs

The simplex category #

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

In Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean, 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.

Notation #

@[irreducible]

The simplex category:

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

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

    Instances For
      def Simplicial.«term⦋_⦌» :
      Lean.ParserDescr

      the n-dimensional simplex can be denoted ⦋n⦌

      Instances For

        The length of an object of SimplexCategory.

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

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

          Instances For
            @[irreducible]

            Morphisms in the SimplexCategory.

            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.

              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.

                Instances For
                  theorem SimplexCategory.Hom.ext' {a b : SimplexCategory} (f g : a.Hom b) :
                  f.toOrderHom = g.toOrderHomf = g
                  @[simp]
                  theorem SimplexCategory.Hom.toOrderHom_mk {a b : SimplexCategory} (f : Fin (a.len + 1) →o Fin (b.len + 1)) :
                  (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)) :
                  (mk f).toOrderHom i = f i

                  Identity morphisms of SimplexCategory.

                  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.

                    Instances For
                      theorem SimplexCategory.Hom.ext {a b : SimplexCategory} (f g : a b) :
                      toOrderHom f = toOrderHom gf = g
                      def SimplexCategory.homEquivOrderHom {a b : SimplexCategory} :
                      (a b) (Fin (a.len + 1) →o Fin (b.len + 1))

                      Homs in SimplexCategory are equivalent to order-preserving functions of finite linear orders.

                      Instances For

                        Homs in SimplexCategory are equivalent to functors between finite linear orders.

                        Instances For
                          @[reducible, inline]

                          The truncated simplex category.

                          Instances For
                            @[implicit_reducible]
                            instance SimplexCategory.Truncated.instInhabited {n : } :
                            Inhabited (Truncated n)
                            @[reducible, inline]

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

                            Instances For

                              A proof that the full subcategory inclusion is fully faithful

                              Instances For
                                theorem SimplexCategory.Truncated.Hom.ext {n : } {a b : Truncated n} (f g : a b) (h : Hom.toOrderHom f.hom = Hom.toOrderHom g.hom) :
                                f = g

                                A quick attempt to prove that ⦋m⦌ is n-truncated (⦋m⦌.len ≤ n).

                                Instances For

                                  For m ≤ n, ⦋m⦌ₙ is the m-dimensional simplex in Truncated n. The proof p : m ≤ n can also be provided using the syntax ⦋m, p⦌ₙ.

                                  Instances For
                                    @[reducible, inline]
                                    abbrev SimplexCategory.Truncated.Hom.tr {n : } {a b : SimplexCategory} (f : a b) (ha : a.len n := by trunc) (hb : b.len n := by trunc) :
                                    { obj := a, property := ha } { obj := b, property := hb }

                                    Make a morphism in Truncated n from a morphism in SimplexCategory. This is equivalent to @id (⦋a⦌ₙ ⟶ ⦋b⦌ₙ) f.

                                    Instances For
                                      @[simp]
                                      theorem SimplexCategory.Truncated.Hom.tr_id {n : } (a : SimplexCategory) (ha : a.len n := by trunc) :
                                      theorem SimplexCategory.Truncated.Hom.tr_comp {n : } {a b c : SimplexCategory} (f : a b) (g : b c) (ha : a.len n := by trunc) (hb : b.len n := by trunc) (hc : c.len n := by trunc) :
                                      theorem SimplexCategory.Truncated.Hom.tr_comp_assoc {n : } {a b c : SimplexCategory} (f : a b) (g : b c) (ha : a.len n := by trunc) (hb : b.len n := by trunc) (hc : c.len n := by trunc) {Z : CategoryTheory.ObjectProperty.FullSubcategory fun (a : SimplexCategory) => a.len n} (h : { obj := c, property := hc } Z) :
                                      theorem SimplexCategory.Truncated.Hom.tr_comp' {n : } {a b c : SimplexCategory} (f : a b) {hb : b.len n} {hc : c.len n} (g : { obj := b, property := hb } { obj := c, property := hc }) (ha : a.len n := by trunc) :
                                      theorem SimplexCategory.Truncated.Hom.tr_comp'_assoc {n : } {a b c : SimplexCategory} (f : a b) {hb : b.len n} {hc : c.len n} (g : { obj := b, property := hb } { obj := c, property := hc }) (ha : a.len n := by trunc) {Z : CategoryTheory.ObjectProperty.FullSubcategory fun (a : SimplexCategory) => a.len n} (h : { obj := c, property := hc } Z) :
                                      def SimplexCategory.Truncated.incl (n m : ) (h : n m := by omega) :

                                      The inclusion of Truncated n into Truncated m when n ≤ m.

                                      Instances For

                                        For all n ≤ m, inclusion n factors through Truncated m.

                                        Instances For