The simplex category #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
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 simplex_category
and simplex_category.hom
are marked as irreducible.
We provide the following functions to work with these objects:
simplex_category.mk
creates an object ofsimplex_category
out of a natural number. Use the notation[n]
in thesimplicial
locale.simplex_category.len
gives the "length" of an object ofsimplex_category
, as a natural.simplex_category.hom.mk
makes a morphism out of a monotone map betweenfin
's.simplex_category.hom.to_order_hom
gives the underlying monotone map associated to a term ofsimplex_category.hom
.
Interpet a natural number as an object of the simplex category.
Equations
- simplex_category.mk n = n
The length of an object of simplex_category
.
A recursor for simplex_category
. Use it as induction Δ using simplex_category.rec
.
Equations
- simplex_category.rec h = λ (n : simplex_category), h n.len
Make a moprhism in simplex_category
from a monotone map of fin's.
Equations
Recover the monotone map from a morphism in the simplex category.
Equations
- f.to_order_hom = f
Composition of morphisms of simplex_category
.
Equations
- f.comp g = simplex_category.hom.mk (f.to_order_hom.comp g.to_order_hom)
Equations
- simplex_category.small_category = {to_category_struct := {to_quiver := {hom := λ (n m : simplex_category), n.hom m}, id := λ (m : simplex_category), simplex_category.hom.id m, comp := λ (_x _x_1 _x_2 : simplex_category) (f : _x ⟶ _x_1) (g : _x_1 ⟶ _x_2), simplex_category.hom.comp g f}, id_comp' := simplex_category.small_category._proof_1, comp_id' := simplex_category.small_category._proof_2, assoc' := simplex_category.small_category._proof_3}
The constant morphism from [0].
Equations
- x.const i = simplex_category.hom.mk {to_fun := λ (_x : fin ((simplex_category.mk 0).len + 1)), i, monotone' := _}
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 simplex_category.δ
The i
-th degeneracy map from [n+1]
to [n]
Equations
- simplex_category.σ i = simplex_category.mk_hom {to_fun := i.pred_above, monotone' := _}
Instances for simplex_category.σ
The generic case of the first simplicial identity
The special case of the first simplicial identity
The second simplicial identity
The first part of the third simplicial identity
The second part of the third simplicial identity
The fourth simplicial identity
The fifth simplicial identity
The functor that exhibits simplex_category
as skeleton
of NonemptyFinLinOrd
Equations
- simplex_category.skeletal_functor = {obj := λ (a : simplex_category), NonemptyFinLinOrd.of (ulift (fin (a.len + 1))), map := λ (a b : simplex_category) (f : a ⟶ b), {to_fun := λ (i : ↥(NonemptyFinLinOrd.of (ulift (fin (a.len + 1))))), {down := ⇑(simplex_category.hom.to_order_hom f) i.down}, monotone' := _}, map_id' := simplex_category.skeletal_functor._proof_2, map_comp' := simplex_category.skeletal_functor._proof_3}
Equations
- simplex_category.skeletal_functor.category_theory.full = {preimage := λ (a b : simplex_category) (f : simplex_category.skeletal_functor.obj a ⟶ simplex_category.skeletal_functor.obj b), simplex_category.hom.mk {to_fun := λ (i : fin (a.len + 1)), (⇑f {down := i}).down, monotone' := _}, witness' := simplex_category.skeletal_functor.category_theory.full._proof_2}
The equivalence that exhibits simplex_category
as skeleton
of NonemptyFinLinOrd
simplex_category
is a skeleton of NonemptyFinLinOrd
.
The truncated simplex category.
Equations
- simplex_category.truncated n = category_theory.full_subcategory (λ (a : simplex_category), a.len ≤ n)
Instances for simplex_category.truncated
Equations
- simplex_category.truncated.inhabited = {default := {obj := simplex_category.mk 0, property := _}}
The fully faithful inclusion of the truncated simplex category into the usual simplex category.
Equations
Instances for simplex_category.truncated.inclusion
Equations
- simplex_category.category_theory.concrete_category = category_theory.concrete_category.mk {obj := λ (i : simplex_category), fin (i.len + 1), map := λ (i j : simplex_category) (f : i ⟶ j), ⇑(simplex_category.hom.to_order_hom f), map_id' := simplex_category.category_theory.concrete_category._proof_1, map_comp' := simplex_category.category_theory.concrete_category._proof_2}
A morphism in simplex_category
is a monomorphism precisely when it is an injective function
A morphism in simplex_category
is an epimorphism if and only if it is a surjective function
A monomorphism in simplex_category
must increase lengths
An epimorphism in simplex_category
must decrease lengths
An isomorphism in simplex_category
induces an order_iso
.
Equations
- simplex_category.order_iso_of_iso e = {to_fun := ⇑(simplex_category.hom.to_order_hom e.hom), inv_fun := ⇑(simplex_category.hom.to_order_hom e.inv), left_inv := _, right_inv := _}.to_order_iso _ _
This functor simplex_category ⥤ Cat
sends [n]
(for n : ℕ
)
to the category attached to the ordered set {0, 1, ..., n}