You're reading the public-facing archive of the Category Theory Zulip server.
To join the server you need an invite. Anybody can get an invite by contacting Matteo Capucci at name dot surname at gmail dot com.
For all things related to this archive refer to the same person.
Every so often I find myself revisiting the question of how to define semisimplicial types in HoTT. Every time, I come to the conclusion that I don't understand type theory well enough to judge whether I'm getting anywhere, or whether I'm missing the point. Here's my latest attempt. This attempt does not attempt to define semisimplicial types in such a way as to have a bunch of nice judgmental equalities to work with -- it would probably be very cumbersome to actually use. But my hope is that it would at any rate be a definition which (1) is syntactically well-formed and (2) upon interpretation in the standard model in simplicial sets actually gives the correct notion (and in particular gets all the higher coherences right). It's still a sketch, and probably the main issue is that some step or other will just have all the same problems as any other approach, but here goes:
The idea is to define, by mutual induction on , the following concepts:
1.) The notion of an -truncated semisimplicial type
2.) The notion of a presheaf on an -truncated semisimplicial type
3.) The space of natural transformations between presheaves on an -truncated semisimplicial type
Here, a presheaf on an n-truncated semisimplicial type S is to be thought of as the "the same" as a presheaf on the "Segalic replacement" of S (which we avoid defining directly). For example, the terminal category is a -truncated semisimplicial type (as is any discrete category). The site for graphs is a -truncated semisimplicial type (as is any free category, up to Segalic replacement). More generally, , the site for -truncated semisimplicial types, is itself an -truncated semisimplicial type. This, along with the "Reedy construction" which Mike Shulman has written about, which allows one to construct from in an inductive manner, is what is supposed to make the construction tick.
So the idea would be as follows. The base case is clear (maybe one could even start at , whatever). Given notions 1,2,3 for , we define them for as follows. We define the -truncated semisimplicial set by "in the usual way" (using definition (2) for ). We define, for an -truncated semisimplicial type, the -matching object by using (3) for . We define an -truncated semisimplicial type to comprise an -truncated semisimplicial type , a type ,and a map . I'm a little hazy on how to now complete the induction for (2) and (3), but perhaps this issue is not insurmountable?
Or would such an approach, even if it works, "miss the point" in some sense? I'm thinking that a definition of the above form would allow one to take a limit over and arrive at a notion of "semisimplicial type". But perhaps I'm mistaken, and it would be no easier to do this than with any other definition of "-truncated semisimplicial type".
I hope that something like this works, but so far no-one has been able to get all the pieces to line up to complete the definition.
In particular, when you define the transformations in the inductive step, you'll need the 2-cells of transformations in the previous step, so you'll actually need to define the k-cells for all k, interleaved with the inductive procedure, I think.
If you can make it work, that would be great, but people have tried a lot of different variations on ideas like this, and so far they always end up in some sort of infinite regress.
Thanks, both of you! I've had ideas about this before which turned out to be totally wrong-headed when I explained them to somebody knowing more type theory than me, so it's gratifying to hear that at least this approach is not crazy, and in fact something which people have tried!
Here goes. Define the following by induction on :
To complete the induction, it remains only to define . This is a bit more involved. First we define, for the following:
Now we define, by induction on , the following data:
This data is defined inductively as follows:
This completes the induction. We now have a type of -truncated semisimplicial types for each , and we transparently have forgetful maps for each as well. We may pass to the limit to obtain a type of semisimplicial types.
In the very last bullet point, you also need to check that the equality components of the two "map"s are equal (after identifying the data components). But maybe you can simultaneously prove that "map"s into a skeleton form a 0-type?
(By "skeleton" I meant one of these objects .)
Reid Barton said:
In the very last bullet point, you also need to check that the equality components of the two "map"s are equal (after identifying the data components). But maybe you can simultaneously prove that "map"s into a skeleton form a 0-type?
Good point. I was wondering if this expected discreteness might actually need to be explicitly checked and used... I think probably the other option -- trying to add this higher equality data to the induction hypothesis -- sounds like something that would lead to an infinite regress, so it does seem best to try instead to inductively show some kind of discreteness and invoke it in the induction.
Actually, I think this is not bad. Add to the induction the following:
Do this as follows: is a pullback of and over -- so because 0-types are stable under pullback, is discrete if these other three types are 0-types; if is discrete, then is a 0-type because is a 0-type and is discrete because is discrete, using induction on ;
Conclude that is discrete;
Here's a non-type-theoretic issue: I'm not sure that the tensoring of semisimplicial types with plain types works in the way I'm assuming. The map is really an adjointed-over stand-in for a map , but maybe it's not so clear what "" has to be to be this adjoint. What I had in mind was that for and , one would have and . This definition would be correct for simplicial types, but I think it's incorrect for semisimplicial types? There are several possible fixes: one might work with everything adjointed back over in the form , or one might actually work with simplicial types instead of semisimplicial -- this would require defining latching objects as well as matching objects, but might not actually be that crazy.
Er -- maybe this is okay, actually. -truncated semisimplicial spaces are a presheaf category; they are cartesian closed. The cartesian product really is levelwise (it's just not the "geometric" product). The tensoring with spaces can be constructed from the cartesian product and the tensoring of a space with the terminal object. The terminal object, by definition, has one simplex in each dimension -- again, it's not the "geometric" terminal object, being rather a model of or or something, but thats okay. Tensoring with the terminal object is "levelwise", so really has for its space of -simplices for each . Since the cartesian product is levelwise, the "levelwise" formula I gave above for is actually correct (It's just not "geometrically correct", but we knew we were getting into such issues by moving to the semisimplicial world).
So I'm back to thinking that this construction works, which still seems too good to be true...
I suppose there's still the question of whether it defines the correct thing -- there are equalities going into the definition which are not submitted to explicit higher coherence conditions, so one might suspect that doesn't really give you "sufficiently coherent" "-truncated semisimplicial types"... but I'm very tempted to think that the universality of the Reedy construction at the heart of the construction might just mean that this really is what one wants...
I suppose in the equation which is inductively satisfied by the 's and 's, I am implicitly coercing across an "associativity" isomorphism for , which says that if and , then . This looks very routine to prove by induction as soon as one makes explicit the definition of .
My recommendation is to try to formalize it in a proof assistant. That way you'll find out for sure whether it works, and if it does you'll have a much easier time convincing other people of it.
The number of times I have tried and failed to install Coq and get the HoTT library running on Windows is a sad joke, so unfortunately I don't think I'll be able to even attempt this without buying a new computer. Then I would still need to address my incompetence at Coq. So if anybody else happens to have the energy / wherewithal to try out formalizing the above defintion, I'd be interested to hear how it goes.
I'd also be interested to hear about other attempts along these lines and where they got stuck, to get a better idea of what the pitfalls here are, so that I could at least try to see whether the above definition actually avoids them.
For such a longstanding and prominent open problem, I imagine somebody out there can say something more precise about what the obstacles are than just "eventually you always seem to encounter an infinite regress".
At the very least, I think the pitfall that Ulrik mentioned seems to be circumvented -- it appears that the only place an equality between equalities is needed is the spot that Reid caught. Since this appearance is isolated in the part of the construction which is specific to the particular types , which are discrete, it is easily handled. The reason for this lies in the reliance on the "Reedy decomposition" - type description of things. From the sound of things, people have tried such approaches before though, so perhaps there's some commonly-encountered pitfall going on here that I'm missing.
Here is Voevodsky's attempt, with some comments on what goes wrong: https://github.com/vladimirias/Foundations/blob/master/Current_work/semisimplicial.v
assert ( e : paths (restrn (pr1 X) n (isreflnatleh n) (S n) k s1 fn) (restr n IHn (pr1 X) n (isreflnatleh n) (S n) j s0 (restrn (pr1 X) n (isreflnatleh n) j k s fn )) ).
(* At this point the goal is to prove a certain equality which asserts "transitivity" or "naturality" of restriction maps. This equlity will be provable as a strict equality in HTS. The proof is by induction and if attempt it for "paths" we get into problems with the need to take into acount transports of increasing complexity with each new induction step. Here we use "admit" . *) admit .
Mike Shulman said:
My recommendation is to try to formalize it in a proof assistant. That way you'll find out for sure whether it works, and if it does you'll have a much easier time convincing other people of it.
I wonder if you (or anyone) could recommend a proof assistant for this? I do seem to finally have Coq running on my computer, but I'm struggling to fit the mutual recursion of the definition into it. I've read that Agda has better support for mutual recursion than Coq does, but I'm worried by the fact that the main HoTT Agda repository I can find https://github.com/HoTT/HoTT-Agda appears to have fallen into a state of neglect, with no updates in 2 years. My understanding is that Lean doesn't support univalence, so even though I don't think the main challenges with implementing this definition will actually be homotopy-theoretic, I suppose a Lean implementation might not be of much interest. The only other proof assistant which I've heard of and which I believe is type-theoretic in nature is Idris, but I don't know much about it.
While I generally prefer Coq for homotopy-theoretic formalization, for something like this I would reach for Agda without hesitation. As you said, Agda has very powerful mutual "inductive-inductive-recursive" definitions, I believe sometimes even outstripping what's known to make sense semantically. I believe it also has a somewhat more forgiving termination checker than Coq does, and you can even tell it to ignore the termination checker and accept something even though it can't check that it terminates. This is what you want for something like this: you want to formalize something to find out whether it makes any sense at all, and then if it does you can worry later about precisely what it requires of the formal system.
Since, as you said, the main challenges will probably not be homotopy-theoretic, I wouldn't expect you to need much in the way of a HoTT library. But if you do need more than is in the old HoTT-Agda library, you could try the Cubical Agda library, which is under more active development.
It's a bit questionable at the moment semantically too, but again, I wouldn't expect any of that to matter to you at this stage.
I'd second the recommendation for Agda:
(As a novice) I would also recommend Agda, but I think cubical is really hard to use (even for someone who knows HoTT, because you are forced to constantly be thinking about the cubes - this is 'the point' I think)
So I've played around with this a bit, and I'm finally convinced that this doesn't work. The above formulation is a bit of a mess, requiring associativity of to work, which, as one can imagine, leads to requiring ever-higher coherences as part of the inductive construction in order to inductively prove. One can reconfigure things without using (basically "currying/uncurrying" by using a map instead). But then there are similar problems, because you still have to define , and in order to define it correctly you need to have composition maps , and in order to inductively construct those you need to know that the composition is associative, and from here one again has a regress to higher and higher coherences which must be inductively constructed. And it doesn't seem to help to use instead.
I have a vague sense that one principled way to cart around higher coherence data like this would be to construct, inductively as you go, roughly an -truncated semisimplical type of -truncated semisimplicial types for . But I haven't gotten a grip on how to define this type, even assuming that the full definition of were in place. Moreover, I'm not sure how precisely I would use it if I did have it.
So chalk this up as another case of "this well-known open problem is indeed as hard as people say"!
I'm not surprised you ran into the same problems that everyone else does. But it's a maddening problem -- there are so many approaches like this that make the infinite regress feel "inessential", and yet no matter how you set it up it seems unavoidable.
I admit I can't help but feel a thrill of hope every time someone new comes up with a proposal like this, just in case they've spotted something that's eluded everyone else.
Here is a totally different idea, which is not inductive, but rather directly defines the type of simplicial types.
I'm thinking that the issue so far has been that the -category (or ) is 2-coskeletal. So definitions along the above lines, where we map out of , are swimming against the current -- coskeletal things want to be mapped into. So let's use a definition of which involves mapping into rather than out of . In particular, let's aim for a definition of a simplicial type described as a left fibration over .
The issue, prima facie, is of course that such a definition would seem to require us to have already defined what an -category is. But I think we can get around this. Let be the type of 2-truncated semsimplicial types, and let denote the 2-truncated semisimplicial nerve of the 1-category opposite to the simplex category. Define a weak category to be a ggraph satisfying the only Segal condition we can formulate (i.e. that is an equivalence) as well as a Rezk completeness condition. Note that is a weak category.
If are weak categories, and is a map of ggraphs (defined in the obvious way), we can define the notion of a cocartesian lift via the usual pullback square of hom-spaces, and we say that is a left fibration if cocartesian lifts exist and moreover every morphism of is cocartesian. Then we define a simplicial type to be a left fibration .
There's not really any induction going on here. So I'm hopeful that the above definition can be formulated in HoTT without encountering any kind of infinite regress. So the real question ought to be semantic: if I perform the above construction in the usual model, do I get the correct type? The hard to thing to swallow is that modeling everything with 2-truncated semisimplicial spaces should be adequate. I tentatively think it is adequate, basically because there's a sort of "redundancy" in the data of a left fibration -- so what we're doing here should be thought of as just not worrying about certain redundant information. The first thing to convince oneself of is the following: a weak category has a well-defined "composition of morphisms", which is not in general associative. However, the claim is that if is left-fibered over the 2-nerve of an ordinary 1-category, then the composition operation on is associative. I believe this allows us to uniquely extend such a left fibration of ggraphs to a left fibration of gggraphs, and hopefully inductively on to higher truncated semisimplicial types. Then externally we may pass to the limit and see that we have a unique extension to a left fibration of complete Segal spaces in the usual sense.
Oh -- and it bears mentioning on the semantic side that the forgetful functor from -categories to weak categories is fully faithful (or at least it would be if we used 2-truncated simplicial spaces instead of 2-truncated semisimplicial spaces -- I'm not sure how important the units are to the story).
I'd need to see some details of the semantic side.
Mike Shulman said:
I'd need to see some details of the semantic side.
That is totally fair!
Let me argue that if is a left fibration from a weak category to a 1-category, then the composition on is "associative" in some sense. This is meant to be a proof of concept -- hopefully the sense of "associative" is a relevant one, and hopefully this can be extended to higher associativity as well. For now, I will argue the following. There are two maps which one can construct representing 3-fold composition -- one factors through while the other factors through . I will argue that these maps are (propositionally) equal.
The notion of "left fibration" of weak categories is maybe still a little bit up in the air, but let's stipulate that being a left fibration should at least entail that the canonical map should be an equivalence (note that this statement doesn't require any more than the underlying graph of ). This implies that the natural maps and are equivalences (where the subscripts indicate that we have chosen starting points for our morphisms using some ). In this way the equality of the two maps may be transposed across these natural maps into a question of equality of two maps . And these two maps are known to be equal because is a 1-category, so that its composition is in fact associative.
If you're keeping score at home, I maybe only seemed to use the 1-truncated simplicial structure of above, but in fact the degree 2 part (and the Segal condition) figures into the construction of the two "composition" maps, and the naturality of at figures into the naturality of the map which is used to transport the equality we need from to .
Probably I should have been more specific. I don't have so much trouble believing that; what seems less plausible is that you can extend to infinity.
Tim Campion said:
Oh -- and it bears mentioning on the semantic side that the forgetful functor from -categories to weak categories is fully faithful
In particular, can you explain this?
Mike Shulman said:
Probably I should have been more specific. I don't have so much trouble believing that; what seems less plausible is that you can extend to infinity.
I'm not quite sure what you you mean. I agree there's little hope of formulating within HoTT a statement of the form "for all natural numbers , there is a unique extension of to a left fibration of -truncated 'weak categories'", because that would presuppose that we could define -truncated semisimplicial types uniformly in in the first place.
But I do maintain I've made it plausible that for any for which we care to write down the explicit definition of -truncated semisimplicial types, there should be a theorem in HoTT of the form "there is a unique extension of to a left fibration of -truncated 'weak categories'". Perhaps I should expand on why I think this is plausible.
A 2-truncated semisimplicial space like has no way to "record" on its own terms that its composition is in any sense associative -- such witness data is supposed to live in dimension 3. So in order to have a hope of enforcing associativity in , the associativity kind of needs to be "imported" from somewhere else. And in fact that's exactly what happens in the above argument -- the left fibration is used to "import" associativity from . Now that we know that the composition in is associative, it's very plausible to me that we can extend to a 3-truncated semisimplicial space, which will again be left fibered over the 3-truncated extension of . And from there, the guess is that we will be able to import an associativity pentagon from , allowing us to extend to a 4-truncated semisimplicial space. And so forth. I think the fact that the fibration records even one level of associativity beyond what itself can record makes it very likely that the whole ladder can be climbed (externally). Of course, I haven't actually shown this, but it seems unmotivated to me to suspect that the fibration will give one extra layer of associativity and no more.
Mike Shulman said:
Tim Campion said:
Oh -- and it bears mentioning on the semantic side that the forgetful functor from -categories to weak categories is fully faithful
In particular, can you explain this?
The thought is that if I have a map of simplicial spaces, and if those simplicial spaces are Segal, then all the data of the map is contained in the first two levels. It's possible that I'm making a mistake -- I should have said I think this is the case rather than that I was "menioning" it. I'm thinking that just as the nerve of a 1-category is a 2-coskeletal simplicial set, so too the classifying diagram of an -category should have an appropriate 2-coskeletality property which determines any map into from just from knowing what the map does on the 0,1,2 levels of . But again, I do not have a precise statement, and it is possible that I am mistaken.
Tim Campion said:
The thought is that if I have a map of simplicial spaces, and if those simplicial spaces are Segal, then all the data of the map is contained in the first two levels.
That seems very unlikely to me. From an algebraic perspective, a weak -functor includes constraint data at all dimensions witnessing not only that it preserves composition up to homotopy, but that it preserves all the higher coherence of composition up to homotopy.
Mike Shulman said:
Tim Campion said:
The thought is that if I have a map of simplicial spaces, and if those simplicial spaces are Segal, then all the data of the map is contained in the first two levels.
That seems very unlikely to me. From an algebraic perspective, a weak -functor includes constraint data at all dimensions witnessing not only that it preserves composition up to homotopy, but that it preserves all the higher coherence of composition up to homotopy.
I think it's true. At the moment, I can only show that the space of lifts is empty or contractible, but I believe that if you can lift to the 2nd stage, then you can lift all the way.
Theorem: Let and let be a map of -truncations of Reedy-fibrant Segal spaces . Then the space of maps extending is empty or contractible.
Proof: By the Reedy construction the space of such maps is homotopy equivalent to the space of maps forming a commutative square
But note that we can extend this diagram by another commutative square:
Here is the -spine. The rows are equivalences by Segalicness. So after adjointing things over, it will suffice to show that the map is co-fully-faithful -- i.e. it induces a fully faithful functor when homming into for any -category (we really only need ). Here is the walking split idempotent. This follows by contemplating the following diagram:
The top left downward map is co-fully-faithful, so the top right downward map also is because co-fully-faithful maps are closed under cobase-change. The composite downward map on the right is also co-fully-faithful. It follows that the bottom right downward map is co-fully-faithful, because co-fully-faithful maps have a cancellation property: if and $ff$ are co-fully-faithful, then so is .
So at the very least, the space of extensions of a map of truncations of Segal spaces to a map of Segal spaces is a mere proposition.
More concretely, any extension of to must be given by the formula under the equivalences given by the Segal conditions, and it is a mere proposition to ask whether this formula is functorial. That is, does this formula commute with all face maps? Supposing that this is so up to level 2, it extends to all higher levels because, thanks to the Segal condition, all higher face maps decompose as fiber products of composites of face maps of dimension . So assuming that we in fact have , I believe this means we do get an extension to .
I think in order to make this argument completely rigorous one would need to work more carefully in a specific model. But if it's not convincing in outline, I'd be interested to hear why.
If it still feels unlikely, then do note that the th level of a Segal space contains a lot more information than the -skeleton of a quasicategory. I agree that a map of quasicategories is not typically determined by its restriction to -skeleta for any .
But I suppose this argument is saying that the full subcategory of with object set is dense in . Put that way, I agree that it sounds surprising.
I'm sorry, this is impossible for me to follow. Can you write it out with displayed equations and commutative diagrams (either here or in pdf)?
@Mike Shulman Thanks, I appreciate your continued interest despite my borderline - incoherence! I was able to track down a post elsewhere on this zulip where somebody posted a commutative diagram and then mimic their code, so I've edited the above now to actually contain the commutative diagrams I was describing so badly. Hopefully it makes a little more sense now!
I seen now my mistake. The map is not co-fully-faithful (I must have been thinking of the map ). So my claim "the forgetful functor from Segal spaces to '2-truncated Segal spaces' is fully faithful" is wrong -- it is too strong. I still have some optimism that my overall proposal for simplicial types might still be correct.
It looks like this recent note by Chen and Kraus is relevant to this discussion.
I thought about this a bit more, and I now think I see the problem with this "fibration of 2-truncated semisimplicial types" approach. The issue is that the form of "associativity" which I noted above, coming from the fibrational structure, is simply not a strong enough form of associativity, even before we start trying to think about higher associativity. The reason is that this "associativity" allows the endpoints to "float". We could probably pin down one endpoint, but we're still left with a situation where we get, for each , an equality , but only relative to some equality -- not in the type itself.
One way of expressing this shortcoming is that if one tries to express the "fibration" as a "pseudofunctor" , then there doesn't seem to be a way to express the highest level of coherence for the pseudofunctor (on the nlab https://ncatlab.org/nlab/show/pseudofunctor#definition this is the very last equation given in the definition of a pseudofunctor) -- the equation which involves 4 objects and 3 maps (and which basically corresponds to the 3rd oriental).
So the whole premise of my idea -- the notion that somehow an "extra level of associativity" was coming "for free" seems to be wrong. In particular, I'm not pretty sure it's not the case that from a fibration of 2-truncated semisimplicial types as indicated above, one can always write down an extension to a fibration of 3-truncated semisimplicial types.
Coherence rarely comes for free... (-:
Mike Shulman said:
Coherence rarely comes for free... (-:
Except in the Eckmann-Hilton argument... maybe we can define -spaces this way?
Roughly following Hirschowitz, Hirschowitz, and Tabareau https://hal.archives-ouvertes.fr/hal-01178301 (HHT), we can define the notion of a wild -category coinductively (except I think we can leave out the associativity they impose, keeping only interchangers). That is, we can define coinductively to comprise , , and , where is coinductively defined in the obvious way, and coinductively comprises , , and an equality saying that commutes with , where "equality" probably means "cell equality" in the sense of HHT.
In this setting, I believe we can lift the"flattening" operation, which turns an -category into its -category of morphisms, to an operation on wild -categories. Say that is -connected if is the unit type and is -connected. Say that is -tuply monoidal if it is the -fold flattening of a -connected wild -category, and say that a wild -category is symmetric monoidal if it is -tuply monoidal for every .
The -categorical Eckmann-Hilton argument leads me to suspect that if is symmetric monoidal, then is an -space. Perhaps in this way, one can define the type of -spaces in HoTT.
There will need to be units too, to get the Eckmann-Hilton argument going. Those are discussed by HHT as well, and presumably can be added to the definition without fuss.
Hmm... could you phrase it more simply as defining an -fold magma coinductively?
Do we even know how to postulate semisimplicial types?
Specifically, do we know how to define semisimplicial-types-exist : Type
, such that an inhabitant of that type would be a satisfying answer to the original question?
(I gave this a brief try, but I think I hit the same infinite regress that's causing problems for the implementation of semisimplicial types.)
Another way to think about this is: "Can we write the API that a module implementing semisimplicial types should provide?". I feel that if this can't be done, or even can't be done simply, we ought to be looking for ways to extend HoTT to make it simple.
No, I don't think we know how to do that.
finegeometer said:
Do we even know how to postulate semisimplicial types?
Like @Mike Shulman, I also don't think we know how to do this. I made the same experience as you (@finegeometer), namely that specifying directly what one expects leads to the same sort of coherence issues as the attempts to construct such a type.
One workaround that I've discussed with @Josh Chen a few years ago might be to define a type T
such that an element t : T
would give rise to a definition of semisimplicial types. That means we "over-approximate" the problem of semisimplicial types. Of course, we still want it to be consistent to assume that there's an element of T
.
My (only) suggestion for such a T
is the type expressing that HoTT can eat itself. Here's one way how we could define T
: First, define the notion of a wild CwF in HoTT. It's a tuple of the usual components, (Con, Sub, Ty, Tm)
, together with substitution operations and identity types for the functor equations. However, we don't include truncation conditions or other higher categorical components (aka coherences), which is why I call this thing "wild". It's a very ill-behaved definition, basically an -category with families where almost all of the structure is removed. Usually, we avoid such ill-behaved structures like the plague, but I'd conjecture that it does the job here. The reason is that the internalised syntax, i.e., the initial set-based CwF (implemented e.g. as the Ambrus-Thorsten syntax QIIT) is such a wild CwF, and the universe ("standard model") is also a wild CwF, so you can ask whether there's a wild CwF morphism between them. While not a well-behaved notion, it's a finite thing that one can write down in HoTT. That's my suggestion for the type T
.
The next question is, of course, whether an element of T
(that you could postulate) gives rise to a definition of semisimplicial types. This probably depends a bit on what exactly we mean by this. I'm pretty sure that it won't give rise to a strict/judgmental (Reedy fibrant) functor . However, it's somewhat plausible to hope that it gives rise to something that is point-wise the correct thing, in the sense the it gives a function SST : Nat -> U
. One would do this by defining each SST n
in the syntax-CwF and then transport it to the universe using the wild CwF morphism. But there are many things to be checked and constructed, and @Josh Chen and I discovered that it's really not easy at all - however, I think it gives a plausible strategy....
Nevertheless, assuming all of this works, a final question is whether T
is actually "too strong", or whether it might be "just right". As we don't have a direct internalisation of the statement "semisimplicial types can be constructed", we can't just ask whether T
is equivalent to it. But another conjecture is that semisimplicial types can be constructed iff HoTT eats itself, which could make it reasonable to say that the described type T
is exactly the type semisimplicial-types-exist
that you were asking for.
Another line of thought is this:
finegeometer said:
we ought to be looking for ways to extend HoTT to make it simple.
Two-level type theory (2LTT) offers one way of extending HoTT. You can think of it as HoTT plus some syntax for its meta-theory. In this setting, you can essentially define a semisimplicial type to be an infinite tuple (A0, A1, A2, ...)
, but it won't be an actual fibrant type in HoTT; instead, it will live at the outer (meta-theoretic) level. However, you can then simply add the axiom that this sort of construction is fibrant (i.e. lives in HoTT). In other words, it's a framework which allows you exactly to formulate postulates for HoTT such as the one you asked about.
you can then simply add the axiom that this sort of construction is fibrant
By the way, this axiom may seem ad hoc, but it follows from the more natural-seeming axiom that "exo-nat is cofibrant". (It also follows from the stronger axiom that "exo-nat is fibrant", but we don't know how to interpret that one in all -toposes, while @Elif Uskuplu has verified that we can do that for "exo-nat is cofibrant".)
Hmm, perhaps by "this sort of construction" you actually meant to refer not just to semisimplicial types but to all the constructions you can do with cofibrant exo-nat? If so, sorry.
On the other hand, 2LTT is a pretty big hammer, and it's unclear how practical it is in practice for actually working with semisimplicial types defined in this way, since you get a lot of exo-equalities that you have to manipulate manually. @Astra Kolomatskaia and I are currently working on a different extension of HoTT that allows the type of semisimplicial types to be defined with a single generalized sort of coinductive definition.
It should be noted that our WIP has full semantic generality in the sense of having models in any infinity-topos. From what Mike summarised about the 2LTT paper, this should be true in 2LTT as well.
"Doing SSTs in HoTT" is sort of an indefinite problem because we probably don't want to be overly specific by what we mean by "HoTT". Saying "Book HoTT" seems to be a reasonably precise specification, and my intuition says that you can't do it in that setting, but one possible definition is that it is any type theory that has semantic generality in infinity-topi and has sufficiently many features that we would expect (e.g. univalence and some HITs). In which case, perhaps 2LTT solved this problem some time ago. However, the solution that Mike and I are working on has the advantage that the additional structure added to the theory is incredibly natural for SSTs and is necessary for expressing their universal property.
I would also like to make the point that it is possible to construct certain specific SSTs in present day Agda:
https://github.com/FrozenWinters/SSTs/blob/main/ZS.agda
This is code that I wrote which constructs the singular SSTs.
So, in particular, the following was generated by the above Agda code:
Screenshot-2023-06-22-at-8.01.50-PM.png
In general, see my HoTTEST talk for a preview of the WIP stuff [although a lot has changed since then]:
https://www.youtube.com/watch?v=fQv2FpeFxew
Mike Shulman said:
Hmm, perhaps by "this sort of construction" you actually meant to refer not just to semisimplicial types but to all the constructions you can do with cofibrant exo-nat? If so, sorry.
Well, I was very unspecific :smile:
I didn't mean any single precise construction here. I just meant: Say, one has "something" (e.g., a classifier for semisimplicial types, or a construction involving meta-theoretic natural numbers) in mind that works in a class of models that one is interested in, but one doesn't know how to talk about it in HoTT. One can then attempt to describe it as a not-necessarily-fibrant type in 2LTT and add the axiom that it is fibrant; this will give an extension of HoTT where one can study that "thing". I really see 2LTT as a convenient framework that allows one to formulate assumption or study meta-theoretic statements that aren't (known to be) internalisable in HoTT in any reasonable sense.
Mike Shulman said:
On the other hand, 2LTT is a pretty big hammer, and it's unclear how practical it is in practice for actually working with semisimplicial types defined in this way, since you get a lot of exo-equalities that you have to manipulate manually.
I'm not sure I agree with the hammer part, but that might be because I view 2LTT differently. While one can use a concrete instance of 2LTT as a setting to work with semisimplicial types, I don't see this as the primary point of 2LTT (even though this might have been Voevodsky's primary motivation for HTS, I don't know). I rather see 2LTT as a framework in which one can talk about some meta-theoretic statements without leaving the language of type theory.
For example, if someone presents a new extension of HoTT (let's call it HoTT-E), I can try to understand HoTT-E as (the fibrant fragment of) an instance of 2LTT, where the inner level is HoTT, the outer (exo-) level is some version of MLTT, together with a postulate that a certain construction preserves fibrancy. HoTT-E will probably be more user-friendly and nicer for developing actualy theorems in a proof assistant in practice, because HoTT-E will probably come with judgmental computation rules that the instance of 2LTT doesn't have; however, thanks to a conservativity argument, HoTT-E still corresponds to the concrete instance of 2LTT. This way, I can try to understand what HoTT-E actually does compared to HoTT, and whatever development I know to be possible in the instance of 2LTT will be possible in HoTT-E.
(It could of cause be that I can't describe HoTT-E as an instance of 2LTT in a non-trivial way that lets me related it to HoTT. But 2LTT is phrased in a very general way, so it's at least possible.)
So, from the point of view of a user who uses one concrete instance of 2LTT to develop semisimplicial types, I agree that it feels like a pretty big hammer; but conceptually, it's actually a fairly trivial and straightforward thing. Do we know a model of HoTT that is not also a model of (a standard instance of) 2LTT? I'm not aware of any such model, which makes me think that having the exo-structure lying around isn't a strong assumption at all.
Astra Kolomatskaia said:
I would also like to make the point that it is possible to construct certain specific SSTs in present day Agda:
https://github.com/FrozenWinters/SSTs/blob/main/ZS.agda
Thanks, this is nice! What does it mean for HoTT? I don't know a specification of Agda that is simple enough for me to understand it, and I found that Agda can do all sorts of stuff that I can't translate to HoTT. (Doesn't Agda have some sort of reflection? Plus the REWRITE
pragma. I wouldn't be surprised if Agda could actually eat HoTT.)
Do we know a model of HoTT that is not also a model of (a standard instance of) 2LTT?
Well, there is the conservativity theorem that every model of HoTT can be embedded in a model of 2LTT. But probably you are also thinking of the fact that most real-world models of HoTT arise by imposing fibrancy requirements on the objects of some 1-category and thus ought to directly be the inner types in a model of 2LTT.
By calling 2LTT a big hammer I didn't mean that it significantly restricted the semantic applicability of the results. Rather I meant that it gives you a whole lot more than just SSTs. I think this may be the crucial point:
HoTT-E will probably be more user-friendly and nicer for developing actualy theorems in a proof assistant in practice, because HoTT-E will probably come with judgmental computation rules that the instance of 2LTT doesn't have
In the case of SSTs, the question is how to find a "HoTT-E" that has this property. The theory that Astra and I are developing is one candidate. In general, we can regard the definition of SSTs in 2LTT as a "specification" that a putative "type theory in which one can define SSTs" ought to satisfy, rather than thinking of 2LTT itself as "a type theory in which one can define SSTs". Does that make sense?
Yes, that's also what I mean. Looking forward to the theory you're developing when it's completed!