Want to take part in these discussions? Sign in if you have an account, or apply for one below
Vanilla 1.1.10 is a product of Lussumo. More Information: Documentation, Community Support.
I am working on an entry cohesive homotopy type theory.
This started out as material split off from cohesive (infinity,1)-topos, but is expanding now.
Somehow from here I got to the adjective entry cohesive.
Hm, thanks. I had entirely forgotten about that entry. But it is useful to have! :-)
Todd Trimble had kindly sent me a bunch of useful comments, by email, on the entry cohesive homotopy type theory. I have meanwhile replied by email, but I hope we will eventually move that discussion to here.
Before we do so, maybe I should emphasize two points, so that you won’t be wondering:
The entry is labeled “under construction” for good reason. It’s a quick hack that I once wrote, somewhat hastily, for the sole purpose of having a way to point from various online discussions to a place where some ideas and in particular where the references listed there are collected.
A more recent writeup of the same kind of ideas which is much better as far as readability and completeness go is what I wrote with Mike Shulman at Quantum gauge field theory in Cohesive homotopy type theory (schreiber). That is still a rather brief account (necessarily so, because we wrote it subject to tight size restrictions) but probably anyone who feels like working on improving the nLab entry should look at that first.
While I am excited about having Todd join forces on working out and writing out these matters, unfortunately right these days I won’t be able to offer any substantial editing myself. For the next two months I’ll be teaching a master course twice a week, will need to follow some invitations to some conferences, and will be advising a master student, all of which requires its preparation time. I will already be struggling with coping with these mandatory tasks. But after two months from right now, I should again be able to, and indeed be more than happy to, join forces on cohesive homotopy type theory again!
Thanks, Urs. For anyone reading, I wrote Urs privately after reading the interview between him and David Corfield. A terrific interview, by the way, since it gave Urs an opportunity to give rather more personal feelings about his research, and I could just hear the excitement in his voice, and that excitement began to rub off. It got me wanting to look a little more closely into what he and Mike have been up to, and since the interview pointed me to cohesive homotopy type theory, I started there, and immediately had questions which I fired off to Urs, who answered very nicely. Some of his answers should appear shortly. He recommended to me particularly section 2 of his paper with Mike as something that might be helpful to me.
I view my own role in this as something of “guinea pig” – if I can understand this material, then so can a lot of people. Any active input from me would mostly come from selfish interest in trying to make things clear to myself, and leaving a record of any success I have. Anyone who would like to help (e.g., help me understand, help improve articles, etc.) is of course very welcome, although of course I understand that people are busy.
I read the interview and was also inspired to read some nLab pages and it became clear I’m not qualified to understand it. I still haven’t mastered adjoint functors (!).
Does that completely disqualify me from ever being able to understand cohesion? Could it be described for finite sets using even lower tech?
It would fun to run an online seminar when people have time, with different levels of expertise.
Eric, working through a 4-term chain of adjoints provides a good way to understand adjoint functors. If $U: Top \to Set$ is the forgetful functor from locally connected topological spaces to sets, there is a chain
$(\pi_0, Dis, U, CoDis),$where $\pi_0$ sends a space to its set of components, $Dis$ sends a set to the space with those points and the discrete topology, and likewise $CoDis$ for the codiscrete topology.
So starting along the chain, there is an equivalence between
set functions from (set of components of space $X$) to (set $A$)
and
continuous functions from (space $X$) to (space $Dis A$).
Putting it crudely, because $Dis A$ is so broken up, it’s hard to find continuous maps to it. In fact you have to use maps which are locally constant, all points in the same component of $X$ are sent to a single element of $A$.
[ after posting I see that the following reply overlaps with David’s reply above ]
One does need to be familiar with adjoint functors and related concepts in order to get an accurate idea of the notion of cohesion, yes.
But of course intuitive approximations to basic ideas can be given in words. That will give an idea of the motivations and make plausible the nature of the applications, at least.
There is a bit of such a intuitive discussion in the Idea-section at cohesive topos. But maybe we should break that further down to make it useful for laymen.
I can add more to that Idea-section. Let me know if the following kind of text is helpful:
A notion of cohesion on a collection $\mathbf{H}$ of spaces is supposed to be a means to specify how points in any space $X \in \mathbf{H}$ “hang together” or “cohere”, analogous to how water molecuses in a droplet of whater are held together by cohesion. A basic example arises for topological spaces or manifolds: here the “droplet of water” is an open ball of points. Indeed, one of the central examples of cohesive spaces is that of smooth spaces and these are spaces that can be probed by smooth open balls, such that these smooth open balls are the elementary “cohesive droplets” out of which any smooth space is built.
That intuition should be evident enough. The question is which formal axioms capture this droplet-intuition accurately and efficiently. The crucial insight of Bill Lawvere is that a rather minmalistic set of axioms already does the job:
there has to be an assignment $\Pi : \mathbf{H} \to Set$ that sends every cohesive space $X$ to its set of cohesively connected components. For instance a single open ball as above, an elementary droplet, is sent to the set $\{*\}$ with a single element.
We should be entitled to regard every set $S \in Set$ trivially as a cohesive space in two ways:
either we regard every element in $S$ as an atomic cohesive droplet itself, cohesively disconnected to any other point. Call the resulting cohesive space $Disc(X)$. For smooth cohection $Disc(X)$ is simply the discrete manifold being the disjoint union of one point per element in $S$.
or, at the opposite extreme, we regard all the elements in $S$ as being cohesively connected, hence regard all of $S$ itself as one single big cohesive droplet. We write $coDisc(X)$ for $S$ regarded as a cohesive space this way, because in the context of topological cohesion this is the codiscrete space on the given set.
The collection of discrete and codiscrete cohesive spaces should sit nicely inside the collection of all cohesive spaces, essentially in just the obvious way that one intuitivey expects. For instance cohesive maps between two discretely cohesive spaces should be simply maps between the underlying sets, and so on.
And the notion of “discrete” exhibited by the collection of discrete objects has indeed to be compatible with the notion of “cohesive” as seen by that map $\Pi$ above. This is just the evident consistency condition which you are probably assuming anyway: for instance if $Disc(S)$ is a set regarded as a discrete cohesive space, then $\Pi(Disc(S))$, which is supposed to be its set of cohesively connected points, should be just $S$ itself, since no point in $Disc(S)$ is supposed to be cohesively connected to any other.
In particular $\Pi(Disc(*))$ should be the point again.
That’s essentially it, already. It sounds very simple (hopefully) and indeed it is very simple. Once you know the notion of an adjoint functor it is pretty straightforward to formalize the above text in terms of that notion.
The interesting observation is that simple as this idea is, it has very powerful consequences … once it is formalized not just with adjoint functors but with adjoint (infinity,1)-functors.
Could this be material for one of your ’motivation’ pages? I think they’re a great idea, especially the motivation for sheaves….
Okay, good idea. I did so and created motivation for cohesive toposes. Let’s move any further chat about this non-technical discussion to the corresponding thread.
Is the following roughly right:
Since cohesion is axiomatized in terms of the two monads $\sharp : \mathbf{H} \to \mathbf{H}$ and $\flat : \mathbf{H} \to \mathbf{H}$…
Question: once written in Coq, this is the same kind of monad construction that the Haskell community is all excited about. Right?
The notoriously advertized monads in Haskell are just monoids in endomorphisms on the ambient type universe, right?
To Bob Harper’s Of course ML has monads! we can add Of Course Coq has $\infty$-monads!, and it’s the same sense of “programming language has monads”-statement, right?
I mean, I am guessing the answer is: Yes of course. I just want a sanity check, because I have trouble reading the online texts on the Haskell monads. I am a reader in the blind spot: these texts typically spend two pages telling the reader that he will find the notion of monad hard to understand, only to then plunge into Haskell code without any explanation of what that means. For me it would have to be the other way around :-)
Well, I am getting there. But any helpful comment would be appreciated anyway.
Yes, the reflections $\sharp$ and $\Pi$ are, in particular, monads on the type universe. They’re fancier than Haskell monads, of course, since the type system of Coq has dependent types — which was what caused all the issues with reflective subfibrations etc. But when you restrict them down to the non-dependent world, they look like Haskell monads (albeit of a very special kind, namely idempotent monads).
There’s an important contrast in that most Haskell monads are defined in terms of the preexisting type theory, rather than axiomatized as $\sharp$ is. That isn’t universally true, though, for instance the Haskell monad IO
is basically a part of the type system put in axiomatically. (I’ve also speculated that it might be useful for a programming-language-like type theory to have a $\sharp$-like monad playing the role of the codiscrete objects in the effective topos, as an alternative way to deal with the computability issues that people often recourse to setoids for, but I’ve never gotten around to figuring out to what extent that might be true.)
Additionally, a big part of the power of monads in Haskell is the language support for them. Any strongly typed language “has monads” in the sense that its type system admits some functors that are monads, like Haskell’s Reader and Writer and State. If it has parametric polymorphism, then you can define each of those monads as a parametrized type family. The additional thing that languages like Haskell, ML, and Coq add is an ability to abstract out the structure of a monad (the multiplication and unit maps, and in Coq’s case the axioms they satisfy) and describe it as part of the type. Haskell does it with type classes, ML with modules, while Coq has both type classes and modules (producing vast amounts of confusion for someone like me trying to figure out which one to use!). Haskell also has some special syntactic sugar for monads, which (with all due respect to Bob Harper) I personally think is kind of nice. And Coq’s very flexible mixfix-notation-definition facility can more or less mimic what Haskell has built in.
Thanks! Great.
One last question for tonight (local time):
Any strongly typed language “has monads”
Hm, so in Coq, the way you coded it at least, the crucial bit is the Type classifier, the internal incarnation of the type universe, which allows to explicitly give the endomorphism of the monad
$\sharp : Type \to Type \,.$Not all these languages will have such a type of types, right?
Yes, the existence of $Type$, or more particularly its consequence that we can talk about “functions from types to types”, is what I referred to above as “parametric polymorphism”. Haskell doesn’t have a “type classifier” like Coq does, but we can still define a “function from types to types” by defining a “type that depends on a type variable” — this is how you do a monad. What I meant by “any strongly typed language has monads” was that even without such polymorphism, there still “exist” monads on the category of types, such as those one constructs in Haskell — it’s just that you won’t be able to define the monad as a single entity within the language syntax.
Yes, the existence of Type, or more particularly its consequence that we can talk about “functions from types to types”, is what I referred to above as “parametric polymorphism”.
Ah, thanks, I never knew what that term meant. So “parametric” for “may vary/depend over the base/context” and “polymorphism” since there is more than one type? Is that just what it means?
Maybe we can put a note into parametric polymorphism.
Done.
Ah, I see. Thanks.
I have updated the links to Mike’s code at cohesive homotopy type theory, alerted by this discussion
Alexander Berenbeim just started a blog on cohesive homotopy type theory
Nice!
I’m currently working on a bunch of redesigns of the HoTT/Coq library, part of my goal being to make it easier to redo the theory of modalities and cohesion therein. We already have some of it, but some is left to do, e.g. the theory of lex modalities. It’ll have to be mostly rewritten from scratch, but it’ll be better for that, and more usable in the future given all that we’ve learned in the current incarnation of the library.
Interesting.
Do you also include aspects of weak Tarskian universes in the redesign?
I suppose you did see the final version of Cesare Gallozzi’s thesis recently? (I am asking because I only know that you were involved to some extent, but not how much exactly.)
@Urs is this thesis generally available? Googling Gallozzi’s name didn’t produce much of use.
No, no weakly Tarski universes. I’m still hoping that we’ll find a way to model honest universes in all toposes. Plus I have faith that most anything we do with honest universes could be done more tediously with weakly Tarski ones, and the library is intended to be usable.
Right now I am wondering whether anything important would be lost by restricting attention to accessible modalities (those obtained by localization at some internal family of maps). All the modalities arising in topos models of cohesion are accessible, correct? The only inaccessible modality that I can think of is “double-negation in the absence of propositional resizing”, and accessible ones have a number of advantages both actual and technical. (In particular, right now I think the theorem that the type of modal types for a lex modality is itself modal only works in the accessible case; I was too sloppy with universes when I proved it before using type-in-type).
And no, I never heard any more from Gallozzi since June.
All the modalities arising in topos models of cohesion are accessible, correct?
You may have to help me, do you mean that the underlying $\infty$-functors are accessible? In that case the answer is yes.
But you mention localization at an internal family of maps. This I don’t know about. Could you give me some pointer to more details?
So back here I argued that every exponential ideal is a localization at some class $S$ closed under finite products, and every reflective subcategory with stable units is a localization at some pullback-stable class $S$, but I ignored size issues. Is it true, if all the $\infty$-categories and functors involved are accessible, that these classes $S$ can be chosen to be small?
(By an “internal family of maps” I mean rather than a set or class $S$ of maps in the external sense, we have an object $S$ of the topos and a map $X\to Y$ in $\mathbf{H}/S$. This is what the HIT construction of localization actually uses. But I’m pretty sure that this is strictly more general than a small external family, since we can always take $S$ to be a coproduct of copies of 1.)
Thanks, I see.
So I suppose you are well aware of this proposition which states that an accessible reflective sub-$\infty$-category of an accessible $\infty$-category is given by localization at a small set of morphisms.
But I guess it may be nontrivial to combine this with pullback stability.
I thought so when I wrote #25, but now I think maybe there is no problem. Of course a small set of morphisms can’t be stable under pullback or products, so my question wasn’t quite correctly phrased. The subtlety, IIRC, is that the “internal localization” at an arbitrary class $S$ is the “external localization” at the stabilization of $S$ under pullbacks or products, rather than $S$ itself. But if the external localization at a set $S$ is known to be an exponential ideal, then the class of morphisms that it inverts is necessarily stable under products; thus the internal localization agrees with the external one. Similarly, if the external localization is left exact, then the class of morphisms it inverts is pullback-stable. And I think we can play a similar game for subcategories with stable units, although in that case the class of all inverted morphisms may not be pullback-stable.
added full publication data for
here and elsewhere
added pointer to
1 to 29 of 29