The Category of Simploidal Sets
Simplicial sets are presheaves on the simplex category \(\Delta\), and a morphism of simplicial sets is a family of maps that commutes with all face and degeneracy operators. This page sets up the same framework for the simploidal sets of Simploidal Sets [PFL09, PL18] and proves that the category of simploidal sets is a topos. The argument is standard topos theory [MLM92]; the only part specific to simploids is the description of the indexing category.
Throughout, \([k] = \{0, 1, \ldots, k\}\), and \(\Delta\) is the category of the ordered sets \([k]\) (\(k \ge 0\)) and monotone maps.
The simploid category
A type \(\mathbf a = (a_1, \ldots, a_n)\) with every \(a_i \ge 1\) (and \(n \ge 0\); the empty type \(()\) is a vertex) stands for the simploid \(\Delta^{\mathbf a} = \Delta^{a_1} \times \cdots \times \Delta^{a_n}\), whose vertex set is
Definition 6 (Simploid category)
Let \(\mathbf a = (a_1, \ldots, a_n)\) and \(\mathbf b = (b_1, \ldots, b_m)\) be types. A simploidal map \(f: \mathbf a \to \mathbf b\) is a map \(f: V(\mathbf a) \to V(\mathbf b)\) of the form
where \(L \subseteq \{1, \ldots, m\}\), the map \(L \to \{1, \ldots, n\}\), \(l \mapsto k_l\) is strictly increasing, every \(g_l: [a_{k_l}] \to [b_l]\) is a non-constant monotone map, and every \(v_l \in [b_l]\) is a vertex.
The simploid category \(\mathbb S\) has the types as objects and the simploidal maps as morphisms, composed as maps of sets.
In words: every factor of the target either follows exactly one factor of the source through a monotone map, or is constant; different target factors follow different source factors, and the order of the factors is kept. A source factor that no target factor follows is projected away.
Geometrically, \(f\) extends affinely to the map \(\Delta^{\mathbf a} \to \Delta^{\mathbf b}\) that sends \((\mathbf u^1, \ldots, \mathbf u^n)\) to the point whose \(l\)-th factor is \(\sum_x u^{k_l}_x \mathbf e_{g_l(x)}\) for \(l \in L\) and the vertex \(\mathbf e_{v_l}\) otherwise. These are exactly the maps between simploids that faces and degeneracies generate (Lemma 2).
Lemma 1
\(\mathbb S\) is a small category.
Proof. The identity of \(V(\mathbf a)\) is simploidal (\(L\) is everything, \(k_l = l\), \(g_l = \mathrm{id}\); \(\mathrm{id}_{[a_l]}\) is non-constant because \(a_l \ge 1\)). Let \(f: \mathbf a \to \mathbf b\) and \(h: \mathbf b \to \mathbf c\) be simploidal, with data \((L, k, g, v)\) and \((L', k', g', v')\). For a factor \(p\) of \(\mathbf c\),
if \(p \notin L'\), then \((h \circ f)(x)_p = v'_p\) is constant;
if \(p \in L'\) and \(l = k'_p \notin L\), then \((h \circ f)(x)_p = g'_p(v_l)\) is constant;
if \(p \in L'\) and \(l = k'_p \in L\), then \((h \circ f)(x)_p = (g'_p \circ g_l)(x_{k_l})\), where \(g'_p \circ g_l\) is monotone; it is either constant or non-constant.
So \(h \circ f\) is simploidal, with \(L''\) the set of \(p\) of the last case with \(g'_p \circ g_l\) non-constant and \(p \mapsto k_{k'_p}\), a composite of strictly increasing maps, as its index map. Composition of maps of sets is associative and unital, and there are countably many types, each \(V(\mathbf a)\) being finite.
The faces and degeneracies of simploids are morphisms of \(\mathbb S\). Write \(\delta_j: [k - 1] \to [k]\) for the monotone injection that skips \(j\), and \(\sigma_j: [k + 1] \to [k]\) for the monotone surjection that hits \(j\) twice.
Definition 7 (Coface and codegeneracy maps)
Let \(\mathbf a = (a_1, \ldots, a_n)\).
For \(1 \le i \le n\) and \(j \in [a_i]\), the coface \(\delta^i_j\) is the simploidal map into \(\mathbf a\) from the type \(\partial^i \mathbf a\) obtained by decreasing \(a_i\) by one and deleting it if it becomes zero. It applies \(\delta_j\) to the \(i\)-th coordinate when \(a_i \ge 2\), and inserts the constant coordinate \(1 - j\) as the \(i\)-th one when \(a_i = 1\).
For \(1 \le i \le n\) and \(j \in [a_i]\), the codegeneracy \(\sigma^i_j: (a_1, \ldots, a_i + 1, \ldots, a_n) \to \mathbf a\) applies \(\sigma_j\) to the \(i\)-th coordinate.
For \(0 \le i \le n\), the codegeneracy \(\sigma^i_{-1}: (a_1, \ldots, a_i, 1, a_{i+1}, \ldots, a_n) \to \mathbf a\) forgets the inserted coordinate.
All other coordinates are kept. For a presheaf \(X\) on \(\mathbb S\) (see below), \(d^i_j = X(\delta^i_j)\) and \(s^i_j = X(\sigma^i_j)\) are the face and degeneracy operators of Simploidal Sets.
Indeed, \(d^i_j\) removes vertex \(j\) of the \(i\)-th factor (an
edge factor disappears, leaving its other vertex \(1 - j\)), \(s^i_j\)
repeats vertex \(j\) of the \(i\)-th factor, and \(s^i_{-1}\)
inserts a degenerate edge after the \(i\)-th factor. In torch_bsf,
face(i, j) is \(d^{i+1}_j\), degeneracy(i, j) is
\(s^{i+1}_j\) for \(j \ge 0\), and degeneracy(i, -1) is
\(s^i_{-1}\). The degeneracy_map of a degenerate simploid records
the composite codegeneracy from its type to the type of its base: for each
factor, the factor of the base it follows and the monotone surjection, or
-1 when the factor is forgotten.
Lemma 2 (Generation)
Every morphism of \(\mathbb S\) is a composite of cofaces and codegeneracies. More precisely, every \(f: \mathbf a \to \mathbf b\) factors as \(f = \mu \circ \varepsilon\), where \(\varepsilon\) is a composite of codegeneracies and \(\mu\) a composite of cofaces.
Proof. Let \((L, k, g, v)\) be the data of \(f\), and \(L = \{l_1 < \cdots < l_r\}\). In \(\Delta\), factor each \(g_{l_t}\) as a surjection \(\pi_t: [a_{k_{l_t}}] \to [c_t]\) followed by an injection \(\iota_t: [c_t] \to [b_{l_t}]\); then \(c_t \ge 1\) because \(g_{l_t}\) is not constant. With \(\mathbf c = (c_1, \ldots, c_r)\), let
\(\varepsilon: \mathbf a \to \mathbf c\) be the simploidal map with \(\varepsilon(x)_t = \pi_t(x_{k_{l_t}})\), and
\(\mu: \mathbf c \to \mathbf b\) the simploidal map with \(\mu(y)_{l_t} = \iota_t(y_t)\) and \(\mu(y)_l = v_l\) for \(l \notin L\).
Then \(f = \mu \circ \varepsilon\). Both maps act factor by factor, so it suffices to realize each factor with generators that only touch that factor. Recall that in \(\Delta\) every surjection is a composite of maps \(\sigma_j\) and every injection one of maps \(\delta_j\) [ML98].
\(\varepsilon\): on a kept factor \(k_{l_t}\), write \(\pi_t\) as a composite of maps \(\sigma_j\), i.e. of codegeneracies \(\sigma^{k_{l_t}}_j\). A factor \(k\) that is not kept is first collapsed to \([1]\) by a surjection \([a_k] \to [1]\) (codegeneracies \(\sigma^k_j\)) and then forgotten by a codegeneracy \(\sigma^{k-1}_{-1}\).
\(\mu\): on a factor \(l_t\), write \(\iota_t\) as a composite of maps \(\delta_j\), i.e. of cofaces \(\delta^l_j\) with \(a_l \ge 2\). A constant factor \(l \notin L\) is inserted by a coface \(\delta^l_{1 - w}\) (into an edge factor, at vertex \(w \in [1]\)), followed by cofaces along an injection \([1] \to [b_l]\) sending \(w\) to \(v_l\), which exists because \(b_l \ge 1\).
Simploidal sets as presheaves
Definition 8 (Simploidal sets)
A simploidal set is a presheaf on \(\mathbb S\), i.e. a functor \(X: \mathbb S^{\mathrm{op}} \to \mathbf{Set}\); \(X_{\mathbf a}\) is its set of simploids of type \(\mathbf a\). A morphism of simploidal sets is a natural transformation. They form the category \(\mathbf{sSpd} = \mathbf{Set}^{\mathbb S^{\mathrm{op}}}\).
The standard simploid of type \(\mathbf a\) is the representable presheaf \(\Delta^{\mathbf a} = \mathbb S(-, \mathbf a)\), the analogue of the standard simplex \(\Delta^n = \Delta(-, [n])\). By the Yoneda lemma, the simploids of type \(\mathbf a\) of \(X\) are the morphisms \(\Delta^{\mathbf a} \to X\).
Corollary 1
A family of maps \(\phi_{\mathbf a}: X_{\mathbf a} \to Y_{\mathbf a}\) between simploidal sets is a morphism if and only if it commutes with all face operators \(d^i_j\) and all degeneracy operators \(s^i_j\).
Proof. Naturality with respect to every generator implies naturality with respect to their composites, which are all morphisms by Lemma 2.
So \(\mathbf{sSpd}\) is the analogue of the category of simplicial sets that the corollary describes: graded sets with face and degeneracy operators, and the maps that commute with them.
Remark 1 (The axiomatic definition)
Peltier and Lienhardt [PL18] (Definition 1) define a simploidal set axiomatically, as graded sets with operators \(d^i_j\) and \(s^i_j\) that satisfy a list of equations. Such data are exactly the presheaves on the category \(\mathbb P\) presented by the cofaces and codegeneracies as generators and those equations as relations: a functor out of a presented category is the same as an assignment of the generators that satisfies the relations. \(\mathbb P\) is small, so the theorem below applies to it as well; therefore the category of simploidal sets is a topos with either definition.
The equations hold in \(\mathbb S\), since they are relations among the faces and degeneracies of standard simploids, so there is a functor \(\mathbb P \to \mathbb S\) that is the identity on objects. It is full by Lemma 2. It is faithful precisely when the equations are a complete presentation of \(\mathbb S\), the analogue of the simplicial identities presenting \(\Delta\); the topos property does not depend on this.
The topos theorem
Theorem 7
For every small category \(\mathcal C\), the presheaf category \(\widehat{\mathcal C} = \mathbf{Set}^{\mathcal C^{\mathrm{op}}}\) is an elementary topos. In particular, the category \(\mathbf{sSpd}\) of simploidal sets is a topos (indeed a Grothendieck topos).
Proof. We write \(y c = \mathcal C(-, c)\) for the Yoneda embedding and use the Yoneda lemma: elements \(x \in X(c)\) correspond to morphisms \(\hat x: y c \to X\), with \(\hat x_{c'}(f) = X(f)(x)\).
Finite limits. Limits of presheaves exist and are computed objectwise, \((\lim X_i)(c) = \lim X_i(c)\), because limits in \(\mathbf{Set}\) commute with the restriction maps.
Exponentials. For presheaves \(X, Y\), put \(Y^X(c) = \widehat{\mathcal C}(y c \times X, Y)\), with \(Y^X(f)(\theta) = \theta \circ (y f \times X)\) for \(f: c' \to c\). For every presheaf \(Z\) there is a bijection, natural in \(Z\),
It sends \(\phi\) to \(\psi\) with \(\psi_c(z) = \phi \circ (\hat z \times X)\); conversely \(\psi\) goes to \(\phi_c(z, x) = \psi_c(z)_c(\mathrm{id}_c, x)\). Starting from \(\phi\), we get back \(\phi \circ (\hat z \times X)\) evaluated at \((\mathrm{id}_c, x)\), which is \(\phi_c(z, x)\) since \(\hat z_c(\mathrm{id}_c) = z\). Starting from \(\psi\), the naturality of \(\psi\) gives, for \(f: c' \to c\) and \(x \in X(c')\),
so the two assignments are mutually inverse. Hence \(\widehat{\mathcal C}\) is cartesian closed.
Subobject classifier. A sieve on \(c\) is a set \(S\) of morphisms with codomain \(c\) such that \(g \in S\) implies \(g \circ h \in S\) for every composable \(h\). Let \(\Omega(c)\) be the set of sieves on \(c\), with \(\Omega(f)(S) = f^* S = \{h \mid f \circ h \in S\}\), and let \(\top: 1 \to \Omega\) pick the maximal sieve \(t_c\) of all morphisms into \(c\). Note that \(f \in S\) if and only if \(f^* S = t_{c'}\), because a sieve containing an identity is maximal.
Let \(A \subseteq X\) be a subpresheaf (every monomorphism of presheaves is objectwise injective, hence isomorphic to one). Define
This is a sieve because \(A\) is closed under restriction, and \(\chi\) is natural: \(f^* \chi_c(x) = \{h \mid X(h) X(f) x \in A\} = \chi_{c'}(X(f) x)\). Moreover \(\chi_c(x) = t_c\) if and only if \(\mathrm{id}_c \in \chi_c(x)\), i.e. \(x \in A(c)\), so \(A\) is the pullback of \(\top\) along \(\chi\). Conversely, if \(\chi'\) is any morphism along which \(A\) is the pullback of \(\top\), then for \(f: c' \to c\),
so \(\chi' = \chi\). Thus \(\Omega\) is a subobject classifier.
A category with finite limits, exponentials and a subobject classifier is an elementary topos. \(\mathbb S\) is small by Lemma 1, so \(\mathbf{sSpd}\) is a topos. Presheaf categories are also the Grothendieck toposes of sheaves for the trivial topology [MLM92].
For simploidal sets, \(\Omega_{\mathbf a}\) is the set of sieves on the type \(\mathbf a\). For example, every type \(\mathbf b\) has a morphism to every other type (a constant one), so a sieve on the vertex type \(()\) is empty or maximal: a vertex has just the two truth values “false” and “true”. Higher simploids have many more truth values, such as “true on this face only”.
Remarks
Simplicial and cubical sets. The full subcategory of \(\mathbb S\) on the types of length at most one is isomorphic to \(\Delta\) (\(()\) is \([0]\) and \((a)\) is \([a]\)): a simploidal map \((a) \to (b)\) is either constant or a non-constant monotone map, i.e. any monotone map. Likewise, the full subcategory on the types \((1, \ldots, 1)\) is the cube category with faces and degeneracies only (no connections, symmetries or reversals) [GM03], because the only non-constant monotone map \([1] \to [1]\) is the identity. Restricting a simploidal set to these subcategories gives its underlying simplicial and cubical sets; as restrictions along functors between small categories, these functors have both a left and a right adjoint (left and right Kan extension), so they are the inverse image parts of essential geometric morphisms.
Two different products. The product of the topos is computed type by type, \((X \times Y)_{\mathbf a} = X_{\mathbf a} \times Y_{\mathbf a}\), and it is not the cartesian product of simploids. For instance, \(\Delta^{(1)} \times \Delta^{(1)} \ne \Delta^{(1, 1)}\): the former has the “diagonal” edge \((\mathrm{id}, \mathrm{id})\) of type \((1)\), nine edges in total including degenerate ones, whereas a simploidal map \((1) \to (1, 1)\) follows the single source factor with at most one target factor, so the square \(\Delta^{(1, 1)}\) has only eight. The product of simploids is instead the concatenation of types, \(\mathbf a \cdot \mathbf b\), which is a functor \(\mathbb S \times \mathbb S \to \mathbb S\) (apply two simploidal maps side by side) and makes \(\mathbb S\) strict monoidal with unit \(()\). By Day convolution [Day70] it extends to a monoidal structure \(\otimes\) on \(\mathbf{sSpd}\) with \(\Delta^{\mathbf a} \otimes \Delta^{\mathbf b} = \Delta^{\mathbf a \cdot \mathbf b}\); this is the product that Bézier simploids model.
Conditions that break the topos structure. Data structures often restrict to simploidal sets with extra properties, e.g. that the faces of a simploid are pairwise distinct. Such full subcategories are typically not closed under the colimits of \(\mathbf{sSpd}\) (gluing two faces of one simploid is a colimit that violates the condition), so the theorem does not apply to them; it concerns the category of all simploidal sets.