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:
SimplexCategory.mk
creates an object ofSimplexCategory
out of a natural number. Use the notation[n]
in theSimplicial
locale.SimplexCategory.len
gives the "length" of an object ofSimplexCategory
, as a natural.SimplexCategory.Hom.mk
makes a morphism out of a monotone map betweenFin
's.SimplexCategory.Hom.toOrderHom
gives the underlying monotone map associated to a term ofSimplexCategory.Hom
.
Interpret a natural number as an object of the simplex category.
Equations
- SimplexCategory.mk n = n
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
A recursor for SimplexCategory
. Use it as induction Δ using SimplexCategory.rec
.
Equations
- SimplexCategory.rec h n = h n.len
Instances For
Make a morphism in SimplexCategory
from a monotone map of Fin
's.
Equations
Instances For
Recover the monotone map from a morphism in the simplex category.
Equations
- f.toOrderHom = f
Instances For
Identity morphisms of SimplexCategory
.
Equations
- SimplexCategory.Hom.id a = SimplexCategory.Hom.mk OrderHom.id
Instances For
Composition of morphisms of SimplexCategory
.
Equations
- f.comp g = SimplexCategory.Hom.mk (f.toOrderHom.comp g.toOrderHom)
Instances For
The constant morphism from [0].
Equations
- x.const y i = SimplexCategory.Hom.mk { toFun := fun (x : Fin (x.len + 1)) => i, monotone' := ⋯ }
Instances For
The morphism [1] ⟶ [n]
that picks out a specified h : i ≤ j
in Fin (n+1)
.
Equations
- SimplexCategory.mkOfLe i j h = SimplexCategory.mkHom { toFun := fun (x : Fin (1 + 1)) => match x with | 0 => i | 1 => j, monotone' := ⋯ }
Instances For
The morphism [1] ⟶ [n]
that picks out the "diagonal composite" edge
Equations
- SimplexCategory.diag n = SimplexCategory.mkOfLe 0 ↑n ⋯
Instances For
The morphism [1] ⟶ [n]
that picks out the edge spanning the interval from j
to j + l
.
Equations
- SimplexCategory.intervalEdge j l hjl = SimplexCategory.mkOfLe ⟨j, ⋯⟩ ⟨j + l, ⋯⟩ ⋯
Instances For
The morphism [1] ⟶ [n]
that picks out the arrow i ⟶ i+1
in Fin (n+1)
.
Equations
- SimplexCategory.mkOfSucc i = SimplexCategory.mkHom { toFun := fun (x : Fin (1 + 1)) => match x with | 0 => i.castSucc | 1 => i.succ, monotone' := ⋯ }
Instances For
The "inert" morphism associated to a subinterval j ≤ i ≤ j + l
of Fin (n + 1)
.
Equations
- SimplexCategory.subinterval j l hjl = SimplexCategory.mkHom { toFun := fun (i : Fin (l + 1)) => ⟨↑i + j, ⋯⟩, monotone' := ⋯ }
Instances For
Equations
- ⋯ = ⋯
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
- SimplexCategory.δ i = SimplexCategory.mkHom i.succAboveOrderEmb.toOrderHom
Instances For
The i
-th degeneracy map from [n+1]
to [n]
Equations
- SimplexCategory.σ i = SimplexCategory.mkHom { toFun := i.predAbove, monotone' := ⋯ }
Instances For
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
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
Equations
The equivalence that exhibits SimplexCategory
as skeleton
of NonemptyFinLinOrd
Equations
Instances For
The truncated simplex category.
Equations
- SimplexCategory.Truncated n = CategoryTheory.FullSubcategory fun (a : SimplexCategory) => a.len ≤ n
Instances For
Equations
- SimplexCategory.instSmallCategoryTruncated n = CategoryTheory.FullSubcategory.category fun (a : SimplexCategory) => a.len ≤ n
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
- SimplexCategory.Truncated.inclusion = CategoryTheory.fullSubcategoryInclusion fun (a : SimplexCategory) => a.len ≤ n
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
A proof that the full subcategory inclusion is fully faithful.
Equations
- SimplexCategory.Truncated.inclusion.fullyFaithful n = CategoryTheory.Functor.FullyFaithful.ofFullyFaithful SimplexCategory.Truncated.inclusion.op
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
A monomorphism in SimplexCategory
must increase lengths
An epimorphism in SimplexCategory
must decrease lengths
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
An isomorphism in SimplexCategory
induces an OrderIso
.
Equations
- SimplexCategory.orderIsoOfIso e = { toFun := ⇑(SimplexCategory.Hom.toOrderHom e.hom), invFun := ⇑(SimplexCategory.Hom.toOrderHom e.inv), left_inv := ⋯, right_inv := ⋯ }.toOrderIso ⋯ ⋯
Instances For
Equations
Equations
- ⋯ = ⋯
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.