Skip to the Main Content

Note:These pages make extensive use of the latest XHTML and CSS Standards. They ought to look great in any standards-compliant modern browser. Unfortunately, they will probably look horrible in older browsers, like Netscape 4.x and IE 4.x. Moreover, many posts use MathML, which is, currently only supported in Mozilla. My best suggestion (and you will thank me when surfing an ever-increasing number of sites on the web which have been crafted to use the new standards) is to upgrade to the latest version of your browser. If that's not possible, consider moving to the Standards-compliant and open-source Mozilla browser.

March 9, 2024

Semi-Simplicial Types, Part I: Motivation and History

Posted by Mike Shulman

(Jointly written by Astra Kolomatskaia and Mike Shulman)

This is part one of a three-part series of expository posts on our paper Displayed Type Theory and Semi-Simplicial Types. In this part, we motivate the problem of constructing SSTs and recap its history.

A Prospectus

There are different ways to describe the relationship between type theory and set theory, but one analogy views set theory as like machine code on a specific CPU architecture, and type theory as like a high level programming language. From this perspective, set theory has its place as a foundation because almost any structure that one thinks about can be encoded through a series of representation choices. However, since the underlying reasoning of set theory is untyped, it can violate the principle of equivalence. Thus, for example, there is no guarantee that theorems proved in set theory about groups automatically translate to theorems about group objects internal to a category.

Within the programming language analogy, one can fully define a high level programming language and its operational semantics without specifying any particular compiler or any concept of a CPU architecture. Similarly, type theory allows one to reason with concepts defined in a purely operational, as opposed to representational, manner. The goal of type theory is to create expressive and semantically general languages for reasoning about mathematics.

Homotopy Type Theory (HoTT) is a perspective on intensional dependent type theory which regards types as homotopical spaces. In HoTT, one is only allowed to speak of concepts “up to homotopy”. This feature allows one to interpret HoTT into any \infty-topos. This is a fascinating state of affairs, because, in general, the constructions of higher category theory, among all those in mathematics, are the ones that sit least comfortably in a set-theoretic foundation. Thus, much of the excitement about HoTT has involved its promise to provide a language capable of reasoning about higher structures.

So far, however, the type theories used for HoTT have been limited in the generality of the higher structures they can discuss. With types as homotopical spaces, structures defined using a finite number of these and maps between them can be represented. For instance, the language of HoTT has been great for formulating 11-category theory, and there exist large formalised libraries such as the 1lab with such results; and a lot of abstract homotopy theory turns out to be doable in this way as well, sometimes by using wild categories. But 11-categories and wild categories have only two layers of structure, objects and morphisms, while we would hope also to reason internally about structures that have infinite towers of layered structure, such as \infty-categories. However, such structures have thus far resisted all attempts at definition!

One simple case of such an infinitary structure is a semi-simplicial type (SST). This is particularly important because many notions of classical higher category theory are traditionally formulated using simplicial or semi-simplicial objects. Thus, if we had a tractable approach to SSTs in HoTT, we could expect that many, if not all, other infinitary structures could also be encoded. This is one reason that the problem of defining SSTs, which was originally proposed by Vladimir Voevodsky over a decade ago, has become one of the most important open problems in Homotopy Type Theory.

SSTs: The Fibred Perspective

To explain the problem of defining SSTs, we start with a classical perspective grounded first in set theory and later in homotopy theory. A semi-simplicial set is defined to consist of sets X nX_n for n0n \geq 0, along with face maps k:X nX n1\partial_k : X_n \to X_{n-1}, for k{0,,n}k \in \{ 0, \ldots, n \}, satisfying the relations: k l= l1 kfork<l\partial_k \circ \partial_l = \partial_{l-1} \circ \partial_k \quad \text{for} \quad k \lt l One thinks of X nX_n as the set of nn-simplices, and of the face maps as giving the boundary components of a given nn-simplex. For example, X 0X_0 is the set of points, X 1X_1 is the set of lines, and X 2X_2 is the set of triangles. A triangle has three boundary lines which share three boundary points in common.

The problem of constructing semi-simplicial types can intuitively be thought of as the problem of constructing semi-simplicial sets but with homotopy types replacing sets. Here, the key is that the semi-simplicial identities from before would now read: α k,l: k l l1 kfork<l\alpha_{k,\,l} : \partial_k \circ \partial_l \simeq \partial_{l-1} \circ \partial_k \quad \text{for} \quad k \lt l Thus, we have replaced the strict set-theoretic notion of equality with a homotopical proof relevant form of equality, meaning that the choice of α k,l\alpha_{k,\,l} now carries data. In order for this notion to give something useful, we must impose coherences on these data. At the first level, for k<l<mk \lt l \lt m, we can prove that k l m m2 l1 k\partial_k \circ \partial_l \circ \partial_m \simeq \partial_{m-2} \circ \partial_{l-1} \circ \partial_k in two different ways, and we would like for those proofs to themselves be equal. This requires providing coherences β k,l,m\beta_{k,\,l,\,m} such that: β k,l,m:α k,l m l1α k,mα l1,m1 k kα l,mα k,m1 l m2α k,l\beta_{k,\,l,\,m} : \alpha_{k,\,l} \star \partial_m \cdot \partial_{l-1} \star \alpha_{k,\,m} \cdot \alpha_{l-1,\,m-1} \star \partial_k \simeq \partial_k \star \alpha_{l,\,m} \cdot \alpha_{k,\,m-1} \star \partial_l \cdot \partial_{m-2} \star \alpha_{k,\,l} Which we can visualise by the following diagram:


Of course, now the β k,l,m\beta_{k,\,l,\,m} themselves carry data, and we have to impose coherences on those. These identities come up in the context of quadruples of deletions. The first identity is given by a square diagram that says that the α k,l\alpha_{k,\,l} homotopies applied to non-interacting indices commute. The second identity is given one dimension up, and describes a filler for the following figure, called a permutohedron, whose faces are the previously mentioned hexagons and squares. It can be visualised via the illustration (by Tilman Piesk, from Wikimedia):


Writing down a formula for this is complicated, and things only become worse when you consider sequences of five or more deletions! We have thus run into the fundamental obstacle to defining infinitary structures. This goes by the technical name of Higher Coherence Issues.

When doing homotopy theory based on set theory, it is possible to overcome this problem, because we always have at our disposal the strict notion of set-theoretic equality for any objects, including homotopy types. Thus, for instance, we can talk about strict semi-simplicial spaces, where the X nX_n are now spaces and the maps m\partial_m are continuous, but the equalities k l= l1 k\partial_k \circ \partial_l = \partial_{l-1} \circ \partial_k hold strictly on the nose, and therefore all the higher coherences also hold strictly. Alternatively, we can explicitly define all the higher permutohedra and say what a “homotopy coherent semi-simplicial space” is, using the strict equality to specify how the permutohedra fit together. But in ordinary homotopy type theory, these approaches are unavailable.

SSTs: The Indexed Perspective

The previous section demonstrates a general phenomenon related to infinitary structures: as soon as the symbol (=)(=) gets used in the definition, one is plunged into also constraining the values of this data carrying equality by way of an infinite tower of coherences, each depending on the definitions of all prior ones and growing in complexity as the dimensions increase.

One promising approach, then, would be to try and define higher structures without reference to equality. In the case of semi-simplicial types, one can think of an intuitive definition which promises to do so, by breaking up “the set of nn-simplices” into a family of sets indexed by their boundaries. For example, we split up the total space of lines into many separate spaces of lines, each joining two definite endpoints (although the dependence of these indexed spaces on the endpoints is continuous). This is analogous to the two basic ways to define a category, with one collection of morphisms or with a family of collections of morphisms.

A 0:Type A 1:A 0A 0Type A 2:(xyz:A 0)A 1xyA 1xzA 1yzType A 3:(xyzw:A 0)(α:A 1xy)(β:A 1xz)(γ:A 1yz)(δ:A 1xw)(ϵ:A 1yw)(ζ:A 1zw) A 2xyzαβγA 2xywαδϵA 2xzwβδζA 2yzwγϵζType \begin{aligned} &A_0 : \mathsf{Type} \\ &A_1 : A_0 \to A_0 \to \mathsf{Type} \\ &A_2 : (x\;y\;z : A_0) \to A_1\;x\;y \to A_1\;x\;z \to A_1\;y\;z \to \mathsf{Type} \\ &A_3 : (x\;y\;z\;w : A_0)\; (\alpha : A_1\;x\;y)\; (\beta: A_1\;x\;z)\; (\gamma : A_1\;y\;z)\; (\delta : A_1\;x\;w)\; (\epsilon : A_1\;y\;w)\; (\zeta : A_1\;z\;w) \\ &\quad \to A_2\;x\;y\;z\;\alpha\;\beta\;\gamma \to A_2\;x\;y\;w\;\alpha\;\delta\;\epsilon\ \to A_2\;x\;z\;w\;\beta\;\delta\;\zeta \to A_2\;y\;z\;w\;\gamma\;\epsilon\;\zeta \to \mathsf{Type}\\ &\ldots \end{aligned}

Roughly, then, in this approach a semi-simplicial type is an “infinite record type” whose fields specify notions of points, lines, triangles, etc. When comparing this to the notion from the previous section, we call the previous one fibred and this one indexed. The face maps of the fibred formulation simply become index lookups in the indexed formulation, and this non-data is automatically infinitely coherent.

Of course, this is not yet precise either: there is the problem of what the ellipsis represents, and the lack of notion of an infinite record type. But there is evidently some kind of pattern, so it seems intuitive that this direction would be more promising as an approach to defining SSTs in type theory.

Equivalence of the Indexed and Fibred Formulations

We can begin to argue that the indexed and fibred definitions are equivalent, when all coherences are included in the latter, by considering the truncated cases that only go up to nn-simplices for some finite nn. For example, suppose that we are given the data 0, 1:X 1X 0\partial_0 ,\, \partial_1 : X_1 \to X_0, and 0, 1, 2:X 2X 1\partial_0,\, \partial_1,\, \partial_2 : X_2 \to X_1. We would like to use this data to define indexed types. At the first two stages, we define:

X˜ 0X 0 X˜ 1(x,y) α:X 1( 1α=x)×( 0α=y) \begin{aligned} &\widetilde{X}_0 \equiv X_0 \\ &\widetilde{X}_1\;(x ,\, y) \equiv \sum_{\alpha \,:\, X_1}(\partial_1\;\alpha = x) \times (\partial_0\;\alpha = y) \end{aligned}

For the next stage, we are defining X˜ 2(x,y,z,(α,p 0,q 0),(β,p 1,q 1),(γ,p 2,q 2))\widetilde{X}_2\, \big(x ,\, y,\, z,\, (\alpha,\, p_0,\, q_0),\, (\beta,\, p_1,\, q_1),\, (\gamma,\, p_2,\, q_2)\big).

One may be tempted to say that this consists of 𝔣:X 2\mathfrak{f} : X_2 with boundary data α,β,γ\alpha,\, \beta,\, \gamma, by asserting, for example, that 2𝔣=α\partial_2\;\mathfrak{f} = \alpha. However this equality in X 1X_1 leaves the endpoints free. For example, in the case of the singular semi-simplicial type of a type XX, so long as the lines 2𝔣\partial_2\;\mathfrak{f} and α\alpha lived in the same connected component of XX, they could be identified by this criterion. We see, then, that this comparison should be performed in the type X˜ 1(x,y)\widetilde{X}_1\,(x,\,y).

In order to create an element of X˜ 1(x,z)\widetilde{X}_1\,(x,\,z), we want to use 1𝔣\partial_1\;\mathfrak{f}. We then have that r 2: 0 1𝔣=zr_2 : \partial_0\; \partial_1\;\mathfrak{f} = z, giving us a proof that the right endpoint is zz. However, for the left endpoint, we only have r 0: 1 2𝔣=xr_0 : \partial_1\; \partial_2\;\mathfrak{f} = x, and we need to concatenate this on the left with an equality 1 1𝔣= 1 2𝔣\partial_1\; \partial_1\;\mathfrak{f} = \partial_1\; \partial_2\; \mathfrak{f} in order to show that 1 1𝔣=x\partial_1\; \partial_1\; \mathfrak{f} = x, as required. A similar analysis applies for X˜ 1(y,z)\widetilde{X}_1\,(y,\,z). Thus we require the commutation identities: α k,l: k l= l1 kfork<l.\alpha_{k,\,l} : \partial_k \circ \partial_l = \partial_{l-1} \circ \partial_k \quad \text{for} \quad k \lt l. Provided these identities as part of our starting data, we would then complete the definition as follows:

X˜ 2 (x,y,z,(α,p 0,q 0),(β,p 1,q 1),(γ,p 2,q 2)) (𝔣:X 2) (r 0: 1 2𝔣=x) (r 1: 0 2𝔣=y) (r 2: 0 1𝔣=z) ( 2𝔣,r 0,r 1)= X˜ 1(x,y)(α,p 0,q 0) ×( 1𝔣,apeqα 1,2𝔣r 0,r 2)= X˜ 1(x,z)(β,p 1,q 1) ×( 0𝔣,apeqα 0,2𝔣r 1,apeqα 0,1𝔣r 2)= X˜ 1(y,z)(γ,p 2,q 2) \begin{aligned} \widetilde{X}_2 \,&\big(x ,\, y,\, z,\, (\alpha,\, p_0,\, q_0),\, (\beta,\, p_1,\, q_1),\, (\gamma,\, p_2,\, q_2)\big) \equiv\\ &\sum_{(\mathfrak{f}\,:\,X_2)}\, \sum_{(r_0\,:\,\partial_1\, \partial_2\, \mathfrak{f} \,=\, x)}\, \sum_{(r_1\,:\,\partial_0\, \partial_2\, \mathfrak{f} \,=\, y)}\, \sum_{(r_2\,:\,\partial_0\, \partial_1\, \mathfrak{f} \,=\, z)}\, \\ &\quad (\partial_2\;\mathfrak{f},\,r_0,\,r_1) =_{\widetilde{X}_1\,(x,\,y)} (\alpha,\,p_0,\,q_0) \\ &\quad \times\; (\partial_1\;\mathfrak{f},\, \mathsf{apeq}\; \alpha_{1,\,2}\;\mathfrak{f} \cdot r_0,\, r_2) =_{\widetilde{X}_1\,(x,\,z)} (\beta,\, p_1,\, q_1) \\ &\quad \times\; (\partial_0\;\mathfrak{f},\, \mathsf{apeq}\; \alpha_{0,\,2}\;\mathfrak{f} \cdot r_1,\, \mathsf{apeq}\; \alpha_{0,\,1}\;\mathfrak{f} \cdot r_2) =_{\widetilde{X}_1\,(y,\,z)} (\gamma,\,p_2,\,q_2) \end{aligned}

Using contractible singletons and path algebra, one can show that forming the total spaces of the resulting indexed types leads to types equivalent to X 0,X 1,X 2X_0,\,X_1,\,X_2. Similarly, starting off with indexed types X˜ 0,X˜ 1,X˜ 2\widetilde{X}_0,\,\widetilde{X}_1,\,\widetilde{X}_2, forming their total spaces, and then performing the above construction results in equivalent types. This demonstrates an equivalence between the indexed and fibred definitions up to the second stage.

The Essence of the Problem

One can continue the above analysis to the third stage, although writing out the details would be exceptionally painful. But we can at least extrapolate the way in which the higher coherences would play a role in the definition. This leads us to two conclusions. Firstly, that the higher coherences are necessary in the fibred formulation, if we would like to extract indexed simplex types from it (which we undoubtedly would). And secondly, that since the indexed perspective is equivalent to the fibred perspective, solving the problem of defining indexed SSTs in type theory would be tantamount to solving the coherence issues in the fibred perspective; thus we should expect this problem to be more difficult than it seems.

Indeed, every naive approach to defining SSTs through the indexed formulation seems to run into the same kinds of higher coherence issues. Almost without exception, whatever clever scheme one comes up with for formalizing the pattern, it eventually transpires that in order to complete the construction, one needs to simultaneously prove a lemma about the construction. And then in order to complete that lemma, one needs to prove a meta-lemma about the proof of the lemma. In order to prove the meta-lemma, one needs to prove a meta-meta-lemma about the proof of the meta-lemma. And so on…

It’s difficult to give any more details in general. It seems that to truly appreciate this, one almost has to come up with one’s own idea for defining SSTs and try to implement it in of a proof assistant. From the outside, it seems that there’s an obvious pattern to the structure of the nn-simplex types, so one doesn’t expect it to be so hard going in. And the infinite regress tends to pop up in surprising places, when proving lemmas that seem so obvious that one tends to leave them for last (or neglect to write them down at all on paper), assuming their proofs will be easy.


The problem of semi-simplicial types, and higher coherence more generally, is also closely connected to the problem of autophagy, or “HoTT eating itself”. In fact both of us ran into this connection independently, Mike in a blog post from almost exactly ten years ago, and Astra in a second attempt to understand why the problem was hard.

The idea is that since the pattern in the indexed nn-simplex types can be defined syntactically, if we could define the syntax and typing rules of HoTT inside of HoTT, and write a self-interpreter that takes an internally-defined well-typed type or term and returns an actual type or term, then we could define the nn-simplex types syntactically and then apply the self-interpreter. However, in the course of trying to write a self-interpreter, one encounters essentially the same permutahedral identities described above. Not every approach to constructing SSTs has to go through syntax, of course, but this suggests that the problem of SSTs is closely related to the problem of self-interpreters and a notion of infinitely-coherent syntax for type theories. Indeed, one may hope that perhaps solving SSTs would be sufficient to enable self-interpretation, as we hope it would be for other higher coherence problems.

We now discuss two alternative approaches to solving this related collection of problems.

The Two-Level Approach

As noted above, in classical homotopy theory, it is possible to define (fibred) semi-simplicial types without needing infinite coherences, by using the ambient strict set-theoretic notion of equality. Thus, one way to avoid the problem of infinite coherences in HoTT is to re-introduce a stricter notion of equality. Two-level type theory (2LTT), formulated by Annenkov, Capriotti, Kraus, and Sattler, following an idea of Voevodsky, achieves this by stratifying types into “inner” or “fibrant” types, which are homotopical, and “outer” or “non-fibrant” “exo-types”, which are not. The non-fibrant equality exo-type then plays the role of the strict set-level equality in classical homotopy theory, enabling a correct definition of semi-simplicial types without incorporating higher coherences… under an additional hypothesis.

Specifically, in two-level type theory there is both a fibrant natural numbers type (“nat”) and a non-fibrant natural numbers exo-type (“exo-nat”). Without additional assumptions on the relation between these two, all we can define (apparently) is the family of types of nn-truncated semi-simplicial types indexed by nn in exo-nat. The “limit” of these types can be easily constructed, but without further assumptions it is only be an exo-type, not a fibrant type.

A sufficient assumption for this is that the two kinds of natural numbers coincide, or equivalently that exo-nat is fibrant. This appears a fairly strong axiom, however; it holds in the “classical” simplicial model, but it is unknown whether all (,1)(\infty,1)-toposes can be presented by a model in which it holds. A better axiom, therefore, is that exo-nat is “cofibrant”, a technical term from 2LTT essentially saying that Π\Pi-types with it as their domain preserve fibrancy, and therefore in particular the limit of a tower of fibrant types is fibrant. Elif Uskuplu has recently shown that any model of type theory whose types are closed under externally indexed countable products (including models for all (,1)(\infty,1)-toposes) can be enhanced to a model of 2LTT in which exo-nat is cofibrant.

Thus, this approach has reasonable semantic generality. However, it is unclear how practical it is for formalization in proof assistants. Paper proofs in 2LTT often assume that the exo-equality satisfies the “reflection rule” and hence coincides with definitional equality. But this is very difficult to achieve in a proof assistant, so implementations of 2LTT (such as Agda’s recent two-level flag) usually instead assume merely that the exo-equality satisfies Uniqueness of Identity Proofs. Unfortunately, this means we have to transport across exo-equalities explicitly in terms, which tends to lead to large combinatorial blowups in proofs.

Informally, one can argue that 2LTT is a “brute force” solution: we internalize the entire metatheory (the universe of exo-types), and then assume that whatever infinite constructions we want (e.g. exo-nat-indexed products) can be reflected into the original type theory. We would like a solution that is more closely tailored to our goal, allowing more external equalities to be represented definitionally in the syntax.

The Synthetic Approach

Another approach is to give up on the goal of defining (semi-)simplicial types and instead axiomatize their behavior. This is analogous to how ordinary homotopy type theory axiomatizes the behavior of \infty-groupoids rather than defining them in terms of sets. In type theory we call this a “synthetic” approach, in contrast to the “analytic” approach of defining them out of sets, making an analogy to the contrast between Euclid’s “synthetic geometry” of undefined points and lines and the “analytic geometry” of pairs of real numbers.

Mike and Emily Riehl formulated a “simplicial type theory” like this in A type theory for synthetic ∞-categories, where the types behave like simplicial objects. Specifically, there is a “directed interval” type that can be used to detect this simplicial structure, analogous to the undirected interval in cubical type theory that detects the homotopical structure. One can then define internally which types are “Segal” and “Rezk” and start to develop “synthetic higher category theory” with these types.

This sort of synthetic higher category theory is under active investigation, and shows a lot of promise. In particular, there is now a proof assistant called Rzk implementing it, and many of the basic results have been formalized by Nikolai Kudasov, Jonathan Weinberger, and Emily. Many of us regard this theory (and its relatives such as “bicubical” type theory) as the most practical approach to “directed type theory” currently available.

However, taking a synthetic approach has also undeniably changed the question. For various reasons, it would be interesting and valuable to have a type theory in which we can define (semi-)simplicial types rather than postulating them. This is the problem addressed in our paper, to which we will turn in the second post of this series.

Posted at March 9, 2024 5:33 PM UTC

TrackBack URL for this Entry:

2 Comments & 0 Trackbacks

Re: Semi-Simplicial Types, Part I: Motivation and History

since the underlying reasoning of set theory is untyped, it can violate the principle of equivalence.

Presumably “set theory” is being used here to mean ZFC or similar, rather than, say, ETCS?

Posted by: Tom Leinster on March 11, 2024 1:26 PM | Permalink | Reply to this

Re: Semi-Simplicial Types, Part I: Motivation and History

Yes, that’s right: at least in that paragraph, “set theory” refers to ZFC-like theories. But later on, the comments about “doing homotopy theory in set theory” apply equally to ETCS as to ZFC. Sorry for the imprecision!

Posted by: Mike Shulman on March 11, 2024 3:47 PM | Permalink | Reply to this

Post a New Comment