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.
I've recently started working through "Sheaves in Geometry and Logic", and was wondering if there was any interest in starting a reading group around it!
oh yeah! our group at UCR has been reading it recently.
The coalgebra book?
I know someone who had been mentioning wanting to read that very book. I'm curious, but I feel like it would be beyond my level.
It's been quite good so far, though I've only made it through the first 45 pages or so
Philip Zucker said:
I know someone who had been mentioning wanting to read that very book. I'm curious, but I feel like it would be beyond my level.
Which one are you talking about?
no, this topic is for Sheaves in Geometry and Logic
Christian Williams said:
no, this topic is for Sheaves in Geometry and Logic
Whoopsies!
it's very well-written, I'm enjoying it.
I gave up producing online lecture notes on "Sheaves in Geometry and Logic" because my group was not very excited about it and... coronavirus. If enough people were interested I could keep going, at least for a while.
my motivation is mainly on the logical side. I want to master the internal language, especially all the stuff you can do with the "quantifiers as adjoints" idea.
The last one:
https://johncarlosbaez.wordpress.com/2020/02/27/topos-theory-part-8/
I'm also interested in the logical aspect, especially from the perspective of proof assistants/PLT. The time dependent set stuff seems like it could have cool applications
definitely.
what's your plan for reading it? I have tons of stuff I should be doing, but this book is kind of an ongoing goal.
are "time-dependent sets" different from, say, the topos of trees?
i was talking to joe moeller about this a little bit—he said that the ucr category theory group had talked about some kind of time dependent set stuff
but i remember @John Baez tweeting about PSh(N^op), whereas the topos of trees is PSh(N)
but joe seemed to think that the subobject classifier of the category they'd been talking about was the same as PSh(N)'s
oh i clicked the link ok :sweat_smile:
"Time-dependent sets" in Mac Lane and Moerdijk are presheaves on N^op (that is, N with the opposite of its usual ordering). I called the objects in here "infinitely deep forests".
The subobject classifier works sorts of similarly for presheaves on any totally ordered set (or "toset"), but the details depend on the toset in question.
oh yeah sure
@Christian Williams I generally try to get through 10-5 pages every other night, and try to formalize the important theorems in agda on the days between reading.
but i mean for example the subobject classifier in PSh(N) is (classically) finite at each stage, whereas it's infinite at each stage in PSh(N^op)
so that's pretty different!
Though I think I may need to switch proof assistants soon, I keep getting mired down in setoid hell.
true. sometimes people are pretty loose when they say "presheaf", not caring about variance. but it matters
ive tweeted this before, but
at POPL, i met pierre-marie pedrot (one of the coq maintainers) and he was in the middle of telling me about a categorical model of type theory involving presheaves when he said that presheaves being contravariant was a historical accident and they could have as well been covariant
and i said like "no man wtf you want the yoneda embedding to be covariant"
and he said "i dont care about the yoneda embedding"
oops all contravariance
"I'm not a category theorist"
haha exactly. it's more than just historical.
but i mean for example the subobject classifier in PSh(N) is (classically) finite at each stage, whereas it's infinite at each stage in PSh(N^op)
True. I don't think of these cases as dramatically different: I think of them as illustrating a general pattern.
When you've got presheaves on a toset, the subject object classifier has a set of truth values at each stage that stand for "times to truth" - how long it takes something to become true, together with an extra value called "never". For presheaves on N^op you get infinitely many such values, since N is unbounded above, while for N you don't, since N^op isn't. (The "opposite" stuff gets a bit annoying around here.)
well, i meant more like "quantitatively different" than "qualitatively different" i suppose
Okay.
Has this started already? This was going to be my next book in parallel with Reihl's Categorical Homotopy Theory
I haven't gotten too far into it yet, so I would be totally OK with starting from the beginning :slight_smile:
Noice, well, if you commit, I'm committed as well and I'd be happy to schedule something more regular
Like, "read up to x.y this weekend".
I'd also definitely be interested in this! Just started the book recently
Ok, let's make this official! The 1st 45 pages are a bit of review + an introduction to some example topoi, so it should be pretty fast to work through.
On the note of formalisation, I and a couple of others are proving theorems from here in the lean theorem prover (the plan is to have roughly chapters 4-6, with a few proofs taken from the elephant instead)
I've been meaning to learn lean for the longest time, so I would love to help out :slight_smile:
as a coq user you have just declared yourself my mortal enemy :knife:
i kid, i kid
Agda above all! Coq fundamentalism is a thing of the past!
i kid, i kid hihi
Reed Mullanix said:
I've been meaning to learn lean for the longest time, so I would love to help out :slight_smile:
Come and join the lean zulip!
I would be interested in joining this reading group :)
I was just asking questions there like 15 minutes ago lol
I'm also interested in participating this reading group
If there's any way I can help out, let me know. When you get to the end of what I covered in parts 1-8 of my blog posts, I'd be happy to start writing more.
I started blogging about this book because I wanted to learn topos theory really thoroughly. What stopped me was the lack of a visibly interested audience - plus, too many other things to do.
Let's make this official: I propose that we make it to page 48 (Propositional Calculus) by Sunday. We can then set up a short discussion session (whether that be over text, or voice) to cover the material.
https://johncarlosbaez.wordpress.com/2020/01/05/topos-theory-part-1/
to get everyone started on John's posts :)
Count me in, if there's room! I've tried reading this book several times, I'd love another crack at it...
Ayy lmao
wait, one already exists, damnit
@Joe Moeller any chance we can delete this
Wait, do you still want to delete it?
you can merge topics within the same stream by simply naming them the same thing. Is that what happened here?
Yeah
this room is good. let's leave it.
I've been through the first ~8 chapters (with varying level of details, tbh), I'm here too :)
Here are two puzzles for people who want to read Sheaves in Geometry and Logic. I hope that people who are already experts on Heyting algebras don't answer these! These puzzles are connected to Section I.8 of the book.
Puzzle 1. In an a Heyting algebra, is equal to ? Prove it's true or find a counterexample.
Puzzle 2. In a Heyting algebra, is true (that is, equal to )? Prove this or find a counterexample.
For puzzle 2, you can ask lambdabot in the Haskell IRC channel for a function of type (((p -> Void) -> Void) -> Void) -> (p -> Void)
with the @djinn
command for a solution, if it exists. (Void type)
Much funner of course to do it in Coq or Lean!
Or agda ;)
Or human brain! :+1:
I mean... in that order
John Baez said:
Puzzle 1. In an a Heyting algebra, is equal to ? Prove it's true or find a counterexample.
Not true! That became apparent after a bit... but I found the counter-example online hihi. Does it still count? :P
Maybe let someone else in this reading group figure out a counterexample. Probably best to not point people to sources of answers... brain exercise is good.
OK, edited for not spoiling the fun!
Thanks! If I think intuitionistically, it doesn't feel like these are equal. In intuitionistic logic I know it means I either know or I know .
That's why doesn't automatically equal "true" - you may not know which of or holds.
Indeed, I realized the condition had to imply LEM.
But I think I can know without knowing either or . Like I know "if it's raining I'll get wet outside", without knowing either that it's not raining or that I'm wet.
So, another puzzle for the Sheaves reading group:
Correction, I started proving statement 1. but I realized I had to use LEM which was a red flag.
Puzzle 1a. In an arbitrary Heyting algebra, can you show that ?
My strategy is usually build the proof-term in my head, if there's no obvious way to do it, it's not an intuitionistic tautology :)
I'm not as good at this stuff.
It should be possible to make this reasoning precise, since the first proof of decidability of IL used the completeness of a certain sequent calculus, so you can trust this intuition to a certain extent.
I'm posing these puzzles because a bunch of people wanted to read Sheaves in Geometry and Logic to boost their understanding of topos theory and logic.
So are you looking for concrete sheaves as counter-models?
I'm just trying to get other people to dive in and do stuff.
John Baez said:
I'm posing these puzzles because a bunch of people wanted to read Sheaves in Geometry and Logic to boost their understanding of topos theory and logic.
I actually started reading it because you posted these puzzles :P.
Okay, that's good too!
I think subobject classifiers in some pretty simple categories of presheaves should give counterexamples ("counter-models") to would-be tautologies that aren't really tautologies in every Heyting algebra. But there are other ways to get your hands on Heyting algebras that should also work... probably they're explained in Sheaves.
John Baez said:
Puzzle 1a. In an arbitrary Heyting algebra, can you show that ?
That's interesting... I'll get to it a bit later :). Thanks for those!
You can also do this by just reasoning diagramatically in a Cartesian Closed Category with coproducts + initial objects that distribute nicely!
That's a fair point! I do like the internal language, but I have difficulty navigating between it and the external one...
Yeah, it can definitely be tricky, took a long time before I felt comfortable doing that
I find that functional programming experience makes it a lot easier though :)
Part of why I'm so interested in this RG: part of the magic of "Sheaves" for me is to take statements which I "intuitively" (no pun intended) know are not provable, or provable in Coq, and understand what kind of theorems or counter-example this implies in clever toposes
To be clear, it's the internal language that I understand well...
Oh in that case we are in the same boat lol
A wonderful exposition of the internal language of sheaf toposes is that of Blechschmidt
Look up his thesis, it's called "using the internal language of toposes in algebraic geometry" or something like that
He also made expository talks about that
Another lovely exposition is that of Leinster, it's on the nlab and the arXiv as well
It might be a little too light in details for this group, but still
Which paper by Leinster?
presumably "An informal introduction to topos theory" (https://arxiv.org/pdf/1012.5647.pdf)
I found Z.L. Low's paper "Logic in a Topos" to be a nice exposition of the Mitchell-Benabou language and of Kripke-Joyal semantics.
BTW, Kripke counter-models for classical but non-intuitionistic tautologies are, of course, also sheaf-theoretical counter-models
John Baez said:
Puzzle 1a. In an arbitrary Heyting algebra, can you show that ?
We immediately have that . For the left part we have that, by definition of exponentiation, . But then by the adjunction for we have that gives , thus completing the proof.
I think the difficuly was mianly being precise , the intuition was pretty clear.
Actually, I can make it more precise: we can then go on to to do iff iff . Same for the other side, so afterwards we go , substitute both sides and finally apply distributive law for and .
As a data type, puzzle 1a says, "Can you construct a function
f:: (Pair (P -> Void) Q) -> (P -> Q)
?"
Stated that way, it's easy: f = \pair -> \p -> snd pair
.
Mike Stay said:
As a data type, puzzle 1a says, "Can you construct a function
f:: Pair (P -> Void) Q -> (P -> Q)
?
Stated that way, it's easy:\pair -> \p -> snd pair
.
Yes, type-theoretically it's very obvious, immediate. I was trying to use terminology from Heyting algebra only ;).
Actually being precise (for once).
It's not quite that easy, coresponds to Either P Q
OK, lemme try it in Agda, one sec.
It was extremely easy :P.
The good thing about more concrete stuff (like Agda compared to CT) is that is saves you from the trouble of having to be precise.
Reed Mullanix said:
It's not quite that easy, coresponds to
Either P Q
Eek! You're right, sorry!
f (Left g) = g f (Right q) = \p -> q
Surely that's not quite right either, since g
would be of type P -> Void
and not P -> Q
. Very close though.
Ugh.
f (Left g) = absurd f (Right q) = \p -> q
Hopefully now I've got it right. absurd
is the name Data.Void gives to the unique function out of the initial object.
@Mike Stay Then wouldn't the type of f
be Void -> Q
?
(But that's easily fixed. Note that g :: P -> Void
; and it's available in the first pattern)
Sigh. Yes. I should actually try typing things into Haskell first to make sure they work.
f x y = case x of Left g -> absurd (g y) Right q -> q
Right! (You could also have corrected the earlier one by just changing absurd
to absurd . g
)
I was reading about pullbacks in Milewski's book just yesterday, and if I'm not wrong, the type inference (for the "returned function") in this case is also via pullbacks? Because f
takes Either (p -> Void) q
, and returns a p -> q
function, but neither of the cases taken separately returns p -> q
— both have more "general" return types
Is this correct?
I believe both alternatives produce p->q (is not there a Void ->q already? Is not there a q -> (p->q) already?)
I mean if you separately wrote f (Left g) = absurd . g
(without the other case), then that would be Either (p -> Void) q -> (p -> r)
, not specifically … (p -> q)
And similarly in the other case
So it takes one function (from the first pattern) of type p -> r
, and another (from the second pattern) of type s -> q
, where r
and s
are variable, and then deduces that the correct type is p -> q
. (I'm probably using some incorrect terminology here, but hopefully the meaning is clear)
This looks like a pullback? I'm not sure if I've understood pullbacks correctly
Well, there's an isomorphism i.e. a function out of Either a b
is the same as a pair of functions, one out of a
and one out of b
.
I don't see a pullback here.
Yeah, to get the categorical formulation you only need a cartesian closed category with coproducts and initial objects that distribute nicely
@Vlad Patryshev If t
be the type of f
: From the first pattern, we have t = p -> r
; and from the second, t = s -> q
; with p
and q
fixed, r
and s
variable. I thought getting t = p -> q
by solving these two might be a pullback, based on what I'd understood from Milewski's example (https://bartoszmilewski.com/2015/04/15/limits-and-colimits/ ← the twice
example here). I might've misunderstood
ah, you’re talking about unification/type inference. I think it can be modelled by pullbacks, but I don’t know CT well enough to say precisely ...
anyways, we don’t typically think of the two branches as having _different_ types, we think of them as having _compatible_ types that we can unify together so they are actually the same. we could make it more explicit if we wanted to, and actually write out the types as arguments, but it’s more convenient to omit them on paper, they’re just understood to be there already
@Vinay Madhusudanan that is a great observation. Unification has been described categorically by Goguen "what is unification". Say the objects are sets of variables, the arrows substitutions (total mappings from vars to terms, the free vars of the substituted terms form the codomain). Then a most general unifier is an equalizer. Equalizers can be expressed through pullbacks. https://ncatlab.org/nlab/show/equalizer
As a tiny remark, this is the Kleisi category over the monad of terms over a set of variables, which is a nice setting in which to talk about instances and substitutions.
There are also presheaf models of type theory, which is a large reason that I am reading this book! The basic idea is that is a presheaf over some base category , and context maps are natural transformations between presheaves.
@Reed Mullanix: I'm curious what relation of sheaves to presheaf models of type theory you're interested in?
Well, if I understand correctly, sheaves themselves don't play nicely with these models (universes get weird)
IE: The collection of sheaves is not a sheaf. I think you need stacks for this, but this starting to bump into the edges of my experience
I suppose I mean why are you interested in sheaves, rather than just presheaves, for the type theory?
At this point, I'm trying to work up to an understanding of the stack models of type theory.
So this is a step in that direction, albeit one with a bunch of interesting tangents :slight_smile:
What's a reference for this? I have never heard of "stack models" in a type theory context...
I'm interested in sheaves because of this paper, btw: http://www.cse.chalmers.se/~peterd/papers/Sheaves.pdf
There's probably some deeper connection between all these notions: realizability, normalization proofs, sheaf models and forcing
Stack Semantics of Type Theory by Coquand–Mannaa–Ruch (https://core.ac.uk/download/pdf/154382024.pdf)
Burak Emir said:
Vinay Madhusudanan that is a great observation. Unification has been described categorically by Goguen "what is unification". Say the objects are sets of variables, the arrows substitutions (total mappings from vars to terms, the free vars of the substituted terms form the codomain). Then a most general unifier is an equalizer. Equalizers can be expressed through pullbacks. https://ncatlab.org/nlab/show/equalizer
Thanks for the reference! It's very interesting, and, it seems, at almost the perfect level of comprehensibility for me right now
Reed Mullanix said:
It's been quite good so far, though I've only made it through the first 45 pages or so
it's been my experience over many years that the first 45 pages of this book are by far the hardest. perhaps not conceptually, but definitely a huge obstacle to learning how to work with presheaves - they just lack a lot of intuition
Can we remind people what the goal is? I think it was "first 45 pages by Sunday"? I just like to know how far behind I am on my homework :)
Up to page 48 is the goal, so right up to Ch1, Section 7: Propositional Calculus
Thanks!
1) A lot of off-topic stuff in this thread? I don't know what one can do about that.
2) I've read Sheaves in Geometry and Logic, but would love to participate in discussion about it!
3) I made a topos theory stream before finding this topic. I won't suggest that we necessarily migrate this there, but if any deeper topos theory discussions arise that might be a good space for them?
Well the Sheaves book covers a lot of material, and I think people are just talking about it generally right now. The current goal is to read up to Chapter I Section 7. So essentially, presheaf categories and some of their nice structure. Some people are trying to do puzzles on it, and solve them in code.
Thanks for making the stream #topos theory . I think people would be fine with migrating over there. Let's just see what people think and then we can make links to bridge them.
Christian Williams said:
Thanks for making the stream #topos theory . I think people would be fine with migrating over there. Let's just see what people think and then we can make links to bridge them.
Or perhaps make bridges to link them? :rolling_on_the_floor_laughing:
I don't know (ie have not learned, rather than am ignorant to the existence of) the languages that people are using to solve these problems; I hope people also take up John Baez's invitation to stretch their brains before resorting to automated provers so that I might be able to follow the argument they arrive at.
No one is using automated provers. Some of us are using proof assistants. It's not exactly solving your problems for you.
@Reed Mullanix might take a bit to catch up just because of work, but I'm gonna see if i can hit that by mid next week
No worries! Its definitely been a weird few weeks for working
Cody Roux said:
No one is using automated provers. Some of us are using proof assistants. It's not exactly solving your problems for you.
Apologies for my mistake, but on the other hand... As someone who hasn't used a proof assistant, what I'm seeing is along the lines of "I put it into a programme and it told me it was a theorem"; how am I supposed to tell the difference?
Is "automated provers" a taboo description/offensive for some reason?
Automated provers are a different class of software to proof assistants, generally they work with much much weaker logics. Prover9 is a well known automated prover. Most proof assistants also have some automated proving capability added on, eg Coq's auto tactic
Loosely speaking, the user input to an automated prover is the (claimed) theorem, while the user input to a proof assistant is the (claimed) proof
And given today's state of technology, usually you have to give a lot more details of the proof to satisfy a "proof assistant" than you would to satisfy a human mathematician.
Jules Hedges said:
Loosely speaking, the user input to an automated prover is the (claimed) theorem, while the user input to a proof assistant is the (claimed) proof
Thanks for the clarification!
You shouldn't think of it as "assisting" you in producing a proof, but in producing a formalized proof.
Another pair of terms is "automatic theorem prover"/"interactive theorem prover" (ATP/ITP).
Reid Barton said:
You shouldn't think of it as "assisting" you in producing a proof, but in producing a formalized proof.
That sounds like overkill for the problems that one will encounter in Sheaves in Geometry and Logic, but people like to practice their skills and hitting new problems with the tools at their disposal, so it should be fun to see what comes out of it. :grinning:
You could also think of it as a tool for checking that the thing you have which you think is a proof really is a proof.
Modulo intense effort :)
Are y'all going to meet tomorrow, on a call? We could set one up.
If it ends up being compatible with UK daytime, I would be down
I have actual questions about the first few pages of SiGL: they mention in passing that monos are preserved by pullback, a fact which is somewhat crucial to discussions about subobject classifiers. The proof was a bit finicky, it seemed a bit tougher than usual "diagram chasing". In particular, the fact that it's a limit is crucial, just the fact that the diagram commutes isn't enough.
My questions:
I don't have the book on hand but it seems easy enough to prove directly by diagram chasing
Do you mean the fact that a pullback is a limit is crucial, or the fact that you can describe monos in terms of limits?
Two proofs coming to mind are: in cases where there is an epi-mono factorisation system, the fact follows from the fact that right-hand classes of factorisation systems are always stable under pullback (a fact which in turn is easy to establish using the unique-lifting characterisation of factorisation systems). The second argument is that an arrow is a mono iff pullback along itself produces an invertible arrow. This property is easily seen to be preserved under pullback.
Your question 1 is really interesting. I have often thought of that, when category theorists (like real category theorists, not half-baked ones like myself) just seem to know stuff off the top of their head. Obviously I don't know the answer, whether (or to what extent) it is memory or instant understanding, or both. In either case, if you work with something daily, this kind of fact or proof is surely in some sort of cache or proxy in the brain, or whatever it would be called in computer lingo.
cache would be the right term ;)
now this raises the question: which lemmas belong in the L1 cache, which in L2, etc?
I mean "easy to prove" seems relative obviously.
The fact that monos are preserved by pullback is one of those basic things that category theorists know just like group theorists know that if a normal subgroup contains the commutator subgroup, modding out by it leaves you with an abelian group.
One reason that for years I didn't feel like a category theorist is that I hadn't learned lots of these basic facts. In the last few years I've been trying.
Every branch of math has a pile of facts like this. In a way, that's what textbooks are good for.
Here's how a category theorist would prove this result:
1) monos and pullbacks are defined "representably", so it suffices to prove this result in the category of sets;
2) this result is true in the category of sets.
sarahzrf said:
now this raises the question: which lemmas belong in the L1 cache, which in L2, etc?
Just guessing from the names, I would say that Lemma 1 belongs to L1 and Lemma 2 belongs to L2.
What I mean by "defined representably" in 1) is that a morphism (commutative square) in a category C is a mono (pullback) iff it sent to a mono (pullback) in the category of sets by every representable functor C(X,-).
This type of argument is second nature to category theorists, so much so that I can't distinguish in my mind between the acts of recalling the result and producing this proof.
Alexander Campbell said:
Here's how a category theorist would prove this result:
1) monos and pullbacks are defined "representably", so it suffices to prove this result in the category of sets;
2) this result is true in the category of sets.
Hi Alasdair, this just shows how life is difficult as a category theorist. For a non-category theorist, 2) is enough :-) (which is a nice and short argument, by the way)
Joachim Kock said:
The second argument is that an arrow is a mono iff pullback along itself produces an invertible arrow. This property is easily seen to be preserved under pullback.
How does this work? I can't see how to do it this way without just reproducing the usual diagram chasing argument.
All functors preserve invertible arrows. Pullback is a right adjoint, so it preserves limits, hence preserves pullbacks.
I'm not a true category theorist, so I prove that pullbacks preserve monos in any category using a diagram chase - it's no harder than any other little lemma that mathematicians are expected to know.
But I like hearing about slicker methods! I agree that ideally all proofs in category theory would be concatenations of purely verbal arguments, each one individually "obvious".
Ah - so we're saying that if we have with corresponding element of the slice category then is mono iff . And then pullback along gives a functor which is a right adjoint, so preserves limits. So pullback preserves monos.
Alexander Campbell said:
What I mean by "defined representably" in 1) is that a morphism (commutative square) in a category C is a mono (pullback) iff it sent to a mono (pullback) in the category of sets by every representable functor C(X,-).
Ah I like this one, because this is how one would prove it in the "internal language" of the category.
What all this comes down to is that the easy diagram-chasing argument is the same as the proof in Set, especially if we call the two morphisms into the pullback object "generalized elements".
or at least, one proof of the statement in Set
I really like this book. I'm not reading linearly at all; I read the first two chapters last quarter (mostly), and now I'm mainly learning about the the internal logic, and the classifying topos.
Any way, how do y'all picture the reading group functioning? I imagine there should be a meeting component. We can generate video calls on Zulip very easily, using the "camera" button below the message box. There wasn't much response to the video-call proposal today, but maybe we can do it another time soon.
Sorry, I've been a bit busy today, but I definitely think that a meeting would be very valuable :) What time would work best for everyone?
Anything that's sensible UK time is good for me
I just got up so... any time after now, I guess.
Just got up as well, so if anyone wants to do an impromptu discussion, I'm game :)
sure! I can make a call here now.
I'll join in a minute
it was great! we'll be meeting again next Sunday around this time, anyone is welcome to join.
Do you think a summary of those calls would be useful?
That was great, thanks for all for participating :) For those who missed it, we resolved to finish the rest of chapter 1, and to do exercises 10 and 11
I'm wondering if it would actually be a good idea to have a stream just for this - I think it'll get hard to keep track of things if we split into lots of topics mixed into the topos stream
Makes sense to me, but Christian can be the boss.
By the way, is it okay if I advertise this reading group on the Azimuth blog, since it connects nicely to my series Topos theory, which is an attempt to explain Sheaves in Geometry and Logic?
Just following up on the discussion we had about nice proofs that pullbacks preserve monos, here's my version in agda!
module _ (p : Pullback f g) where open Pullback p pullback-preserves-mono : Mono g → Mono p₁ pullback-preserves-mono mono a b eq = unique-diagram eq (mono _ _ lemma) where lemma : g ∘ p₂ ∘ a ≈ g ∘ p₂ ∘ b lemma = begin g ∘ p₂ ∘ a ≈⟨ extendʳ (⟺ commute) ⟩ f ∘ p₁ ∘ a ≈⟨ refl⟩∘⟨ eq ⟩ f ∘ p₁ ∘ b ≈⟨ extendʳ commute ⟩ g ∘ p₂ ∘ b ∎
The gist is that we can use the universal property of the pullback to show that
unique-diagram : p₁ ∘ h ≈ p₁ ∘ i → p₂ ∘ h ≈ p₂ ∘ i → h ≈ i
And then use the fact that g
is a mono, along with some simple commuting around
nice! maybe we should have a repo with these proofs?
Thomas Read said:
I'm wondering if it would actually be a good idea to have a stream just for this - I think it'll get hard to keep track of things if we split into lots of topics mixed into the topos stream
we can either make a stream, or maybe a reasonable compromise would be to talk in #topos theory and just prefix the reading group topics with "Sheaves RG". what do y'all think?
John Baez said:
By the way, is it okay if I advertise this reading group on the Azimuth blog, since it connects nicely to my series Topos theory, which is an attempt to explain Sheaves in Geometry and Logic?
I think we would be fine with that. Today we had 5 most of the time, and that worked well. But as long as we know what we're discussing and stay on topic (and mute mics), then we can handle more.
Alex Kreitzberg said:
Do you think a summary of those calls would be useful?
Today we introduced ourselves, and talked generally about internal logic. Since we're focusing on the first chapter right now, we discussed the equivalence of sieves and subfunctors of representables, and how that gives the subobject classifier for a presheaf topos. Looking at the example for "time-dependent sets", presheaves on as @John Baez has discussed on Azimuth, one can get an idea of "generalized truth values" -- rather than something being true or not, it may be true in time steps.
We talked some about the "coYoneda lemma" - the fact that every presheaf is a colimit of representables, and the "nerve-realization" adjunction which is described in Section 5. I mentioned that this adjunction is very general, and can be used when defining sheaves and the complementary notion of etale bundle. But we won't get to sheaves yet; we want to get the fundamentals of presheaf categories down first.
There was more discussion, connecting the ideas more to programming and type theory. But yeah, don't worry if you couldn't make it to this one; we'll just start again next week. Let us know if that time doesn't work for you.
Oh I mentioned something about Kripke models possibly giving intuition. But they're so similar to Sheaves that the difference is somewhat academic.
Have you got a good reference for reading about Kripke models?
I can make these times work. Thank you for your summary.
I like palmgren's notes on kripke models: http://www2.math.uu.se/~palmgren/tillog/heyting3.pdf (They were a useful companion to reading the forcing chapter of SGL in particular).
I've found van Dalen's "Logic and Structure" to be a reasonable overview. A bit terse though.
Hey i fell behind on the reading and couldn't join today's meeting (or whatever it was). I'll try to join next week, and from what i understand we're just planning on finishing the chapter right?
yup
Cody Roux said:
Oh I mentioned something about Kripke models possibly giving intuition. But they're so similar to Sheaves that the difference is somewhat academic.
Would you mind expanding on this? I encountered Kripke semantics in a course on modal logic last year and it struck me that a more general formalisation could be built using sheaves, but your claim about Kripke models seems like a big leap.
I guess I misspoke. Sheaves are an obvious generalization of Kripke models, so there's definitely more there. That being said, from the strict point of view of a logician, Kripke models are already sound and complete, as well as enabling a proof of cut-elimination for the sequent calculus LJ, so they're definitely worth studying.
However, understanding the ins and outs of the interpretation of intuitionistic logic into Kripke structures is so similar to understanding that of presheaves that it's not clear that there's an advantage, pedagogically, to start with Kripke models.
@Reed Mullanix is this part of an Agda category theory library which is available somewhere?
kripke models are the same thing as (0, 1)-presheaves!
well, ok, kripke models of S4 are
actually, i guess under typical conventions they're more like (0, 1)-copresheaves
sarahzrf said:
kripke models are the same thing as (0, 1)-presheaves!
Do you have a citation for that? I've been playing with an idea lately that could potentially really benefit from that perspective...
errr, sorry, not kripke models of S4, kripke models of propositional intuitionistic logic
and i dont have a citation sorry, just my own brain
but it's not hard at all to see
(0, 1)-presheaves ~ downward-closed subsets of a preorder
(0, 1)-copresheaves ~ upward-closed subsets of a preorder
Okay, thanks. Less exiting if it's propositional intuitionistic logic rather than S4 for me.
oh, sorry ;_;
Eh, not a big deal. Maybe there's still a connection there, I'd have to think about it. After all, Kripke semantics for intuitionistic logic are connected to modal interpretations
the main difference between kripke models for propositional S4 and propositional intuitionistic is whether you restrict yourself to things that are closed under accessibility
when valuing propositions
true, so you'd have to do something about the fact that you have two notions of accessibility (the modal notion and the intuitionisitic notion) for intuitionistic S4
oh, i don't know anything about models for intuitionistic S4
you have two accessibilities?
yeah, so you have accessibility (essentially the same as in the model of PIL), and you have a "modal" accessibility relation (what worlds the modal reasoner believes are possible)
the thing is how they work together, because you often have to take steps along both relations
There must be a reason if the semantics of higher-order IL is called Kripke-Joyal, after all :grinning_face_with_smiling_eyes:
I came to contact with Kripke models various times and they always seemed quite the same thing as sheaf semantics, although I know little about sheaf semantics but far less about Kripke models.
For one thing, it feels like in a Kripke model , the Kripke frame should play the role of a site ( is the 'carrier', the topology), while should be the forcing relation of the sheaf topos on this site. I suspect the topology here is actually split between and this latter, since from what I understand there can be multiple on a given frame while the (Kripke-Joyal) forcing relation in a topos is canonically associated to the topos.
I will Google a bit more though, it seems a fruit hanging so low that it's hard to believe nobody repead it yet
Ok this seems to explain things a bit: https://arxiv.org/abs/1403.0020
It is surprisingly readable
Thanks!
Neat!
@Reid Barton https://github.com/agda/agda-categories is what I was using.
Thanks.
Some nice perhaps helpful notes https://arxiv.org/abs/1012.5647 - An informal introduction to topos theory - Leinster
Philip Zucker said:
Some nice perhaps helpful notes https://arxiv.org/abs/1012.5647 - An informal introduction to topos theory - Leinster
Yes! Great paper! :)
On p57 they say "Our discussion of the propositional calculus has indicated that the basic operations , , and of this calculus can all be described as adjoints". How can be described as an adjoint, or is this a typo? (I remember something from the bi-Heyting algebra thread about a left adjoint to , which certainly doesn't generally exist in a Heyting algebra)
the coproduct functor is left adjoint to the diagonal functor (which is left adjoint to the product functor)
(this is a special case of a general fact about colimits, diagonal functors and limits)
Yeah, I guess maybe that's what they meant
Felt like a different flavour to the type stuff, but you're probably right.
yes, these functors aren't endofunctors, so the adjunctions look a little different to the tensor-hom adjunction
Slightly related question: how does the algebraic structure of subobjects relate to the algebraic structure of the ambient category? I feel like if your category has finite limits and colimits, you have a lattice structure, but other than that I'm not sure. When do you have for example? Certainly being an LCCC is enough, but that seems like a lot to ask.
Also: interesting stuff happening on the Topos Theory stream...
Unrelated: it took me a minute to realize the category of subobjects of an object is always a poset....
Pullbacks, or even just pullbacks of monos along monos, are enough for intersections, (recall our discussion about pullbacks of monos being monos). Unions are already trickier: in a regular category where one has images, it suffices to have finite coproducts, since the union of and is the image of the canonical map . There is always a maximum element, of course, and having an initial object in your category is sufficient but not necessary to ensure a minimal element in all of the subobject lattices.
As for the Heyting operation, I don't think you can do any better than weakening the conditions on a LCCC, asking only for the exponentials you need for the subobject lattices. is precisely local exponentiation, after all.
Thanks, Morgan! That clarifies things. Though I would like to have more intuition on the notion of "Regular Category".
Cody Roux said:
Thanks, Morgan! That clarifies things. Though I would like to have more intuition on the notion of "Regular Category".
A rather dry but very comprehensive early account is in "Categories, Allegories" by Freyd and Scedrov.
There was a presentation at the last Compose about 'regular logic' that might be up your alley (not sure if you saw it).
I don't recall it being a super clear explanation of regular categories, though, I guess.
I did not. I feel like I'm not able to keep up with the raw amount of content getting blasted out there...
https://www.youtube.com/watch?v=Ft0_l_PPO4w
I guess it's more graphical than I remembered, rather than symbolic logic.
Oh, there is symbolic stuff later.
Cool! Also the latest MIT seminar seems relevant.
Cody Roux said:
Cool! Also the latest MIT seminar seems relevant.
I'd be happy to answer "intuition" questions about regular categories, since I feel I know just enough to answer them and not so much that my answers will be extremely sophisticated and therefore incomprehensible.
The crudest intuition is that regular categories are just nice enough so that you can define relations between objects, and compose these relations, just like you can in .
If you think about how composing relations works in terms of logic, you'll see it uses "and" and "there exists".
So "regular logic", the kind of logic that works in regular categories, is a very primitive form of logic that's good at handling "and" and "there exists", and not much else.
Thanks! That does help.
My Masters "essay" was on this subject; I tried to work out the minimal structure you need to have a well-defined category of relations. It turns out to be very close to regular categories, but you can do better by e.g. not demanding products. One concrete gain I got is that you can define the category of relations for a groupoid, but you might be disappointed to hear that it's just an isomorphic groupoid.
Regular logic seems interesting! I was not aware of regular logic before it came up just now but it seems like a natural fit for thinking about which logical statements of linear inequalities are easily provable via linear programming (and maybe the capabilities of other efficient solvers)? The existential and conjunction are naturally expressed as feasibility and combining constraints. The single allowed outer universal quantifier and entailment corresponds to polytope containment, which is expressible with some duality shenanigans.
@Brendan Fong and @David Spivak would love to talk to you about that. Their categorical approach to regular logic really thinks of it in terms of "constraint satisfaction" and "combining constraints".
Here's a good way to learn more:
https://www.youtube.com/watch?v=2w2sdVzCyl0
https://www.youtube.com/watch?v=kZCqHZMRrKs
https://www.youtube.com/watch?v=XKVUX4vFIQc
They also have a paper on regular logic.
Morgan Rogers said:
There is always a maximum element, of course, and having an initial object in your category is sufficient but not necessary to ensure a minimal element in all of the subobject lattices.
I think the existence of a strict initial object is sufficient for a minimal element, because it entails that for any object , the unique morphism is mono. (An initial object is called strict if every morphism into is an isomorphism.) Without strictness, however, the unique morphism out of may not be mono, as for instance in the unique morphism is not mono; in other words, in the function is not epi.
As for an explicit counterexample of a category with a (non-strict) initial object in which there is an object with no minimal subobject, consider the full subcategory of the opposite of consisting of the four objects , , and .
Um, sorry, maybe we must also add e.g., for the counterexample to work. It is definitely a very ad hoc example... :sweat_smile:
In the video, this paper by @Evan Patterson was mentioned. Very interesting read https://arxiv.org/abs/1706.00526
Philip Zucker said:
In the video, this paper by Evan Patterson was mentioned. Very interesting read https://arxiv.org/abs/1706.00526
Yes, it's a nice paper. Evan gave a talk on it at the UCR applied category theory special session in 2017 - slides here.
Sheaves on "Reading group in Geometry and Logic", category of
Philip Zucker said:
In the video, this paper by Evan Patterson was mentioned. Very interesting read https://arxiv.org/abs/1706.00526
Thanks for saying so! I'm glad you liked it.
Soichiro Fujii said:
Morgan Rogers said:
There is always a maximum element, of course, and having an initial object in your category is sufficient but not necessary to ensure a minimal element in all of the subobject lattices.
I think the existence of a strict initial object is sufficient for a minimal element, because it entails that for any object , the unique morphism is mono.
Good catch, thanks
sarahzrf said:
Sheaves on "Reading group in Geometry and Logic", category of
Classifying topos of people learning categorical logic and hopefully some topos theory?
So we're meeting in about 30 minutes, correct?
@Cody Roux @Philip Zucker @Thomas Read @Reed Mullanix @Fatima Afzali @Alex Kreitzberg, and anyone else
Or we can push it back some, if the time was not clear. We didn't plan this very officially.
I'm ready whenever
but maybe 2:30 gives a little leeway.
I'm available
Should be good to go in 10 minutes
I'm around
Sounds good, 5 minutes then.
BaseChange! : ∀ {B} (f : B ⇒ A) → Functor (Slice B) (Slice A) BaseChange! f = record { F₀ = λ X → sliceobj (f ∘ arr X) ; F₁ = λ g → slicearr (pullʳ (△ g)) ; identity = refl ; homomorphism = refl ; F-resp-≈ = λ eq → eq } module _ (pullbacks : ∀ {X Y Z} (h : X ⇒ Z) (i : Y ⇒ Z) → P.Pullback C h i) where private open P C module pullbacks {X Y Z} h i = Pullback (pullbacks {X} {Y} {Z} h i) open pullbacks BaseChange* : ∀ {B} (f : B ⇒ A) → Functor (Slice A) (Slice B) BaseChange* f = record { F₀ = λ X → sliceobj (p₂ (arr X) f) ; F₁ = λ {X Y} g → slicearr {h = Pullback.p₂ (unglue (pullbacks (arr Y) f) (Pullback-resp-≈ (pullbacks (arr X) f) (△ g) refl))} (p₂∘universal≈h₂ (arr Y) f) ; identity = λ {X} → ⟺ (unique (arr X) f id-comm identityʳ) ; homomorphism = λ {X Y Z} {h i} → unique-diagram (arr Z) f (p₁∘universal≈h₁ (arr Z) f ○ assoc ○ ⟺ (pullʳ (p₁∘universal≈h₁ (arr Y) f)) ○ ⟺ (pullˡ (p₁∘universal≈h₁ (arr Z) f))) (p₂∘universal≈h₂ (arr Z) f ○ ⟺ (p₂∘universal≈h₂ (arr Y) f) ○ ⟺ (pullˡ (p₂∘universal≈h₂ (arr Z) f))) ; F-resp-≈ = λ {X Y} eq″ → unique (arr Y) f (p₁∘universal≈h₁ (arr Y) f ○ ∘-resp-≈ˡ eq″) (p₂∘universal≈h₂ (arr Y) f) } !⊣* : ∀ {B} (f : B ⇒ A) → BaseChange! f ⊣ BaseChange* f !⊣* f = record { unit = ntHelper record { η = λ X → slicearr (p₂∘universal≈h₂ (f ∘ arr X) f {eq = identityʳ}) ; commute = λ {X Y} g → unique-diagram (f ∘ arr Y) f (cancelˡ (p₁∘universal≈h₁ (f ∘ arr Y) f) ○ ⟺ (cancelʳ (p₁∘universal≈h₁ (f ∘ arr X) f)) ○ pushˡ (⟺ (p₁∘universal≈h₁ (f ∘ arr Y) f))) (pullˡ (p₂∘universal≈h₂ (f ∘ arr Y) f) ○ △ g ○ ⟺ (p₂∘universal≈h₂ (f ∘ arr X) f) ○ pushˡ (⟺ (p₂∘universal≈h₂ (f ∘ arr Y) f))) } ; counit = ntHelper record { η = λ X → slicearr (pullbacks.commute (arr X) f) ; commute = λ {X Y} g → p₁∘universal≈h₁ (arr Y) f } ; zig = λ {X} → p₁∘universal≈h₁ (f ∘ arr X) f ; zag = λ {Y} → unique-diagram (arr Y) f (pullˡ (p₁∘universal≈h₁ (arr Y) f) ○ pullʳ (p₁∘universal≈h₁ (f ∘ pullbacks.p₂ (arr Y) f) f)) (pullˡ (p₂∘universal≈h₂ (arr Y) f) ○ p₂∘universal≈h₂ (f ∘ pullbacks.p₂ (arr Y) f) f ○ ⟺ identityʳ) }
unique-diagram : p₁ ∘ h ≈ p₁ ∘ i → p₂ ∘ h ≈ p₂ ∘ i → h ≈ i
And here's the Coq proof!
Variables Z Y : Type. Variable f : Z -> Y. Definition P : Type -> Type := fun X => X -> Prop. Definition f_star : P Y -> P Z := fun S => fun z => S (f z) . Definition exists_f : P Z -> P Y := fun S => fun y => exists z, f z = y /\ S z. Definition forall_f : P Z -> P Y := fun S => fun y => forall z, f z = y -> S z. Definition subset {X} : P X -> P X -> Prop := fun S T => forall x, S x -> T x. Theorem left_adjoint : forall S T, subset S (f_star T) <-> subset (exists_f S) T. Proof. intros; split. - intros; intro; intros. destruct H0. destruct H0. unfold f_star in H. rewrite <- H0. apply H. apply H1. - intros. intro. intros. unfold f_star. apply H. unfold exists_f. exists x. split; [reflexivity | apply H0]. Qed. Print left_adjoint. Theorem right_adjoint : forall S T, subset (f_star S) T <-> subset S (forall_f T). Proof. intros; split. - intros; intro; intros; intro; intros. apply H. unfold f_star. rewrite H1. apply H0. - intros; intro. intros. unfold forall_f in H. unfold subset in H. unfold f_star in H0. apply H with (x := f x). + exact H0. + reflexivity. Qed. Print right_adjoint.
Not very informative for sure...
But, you can replace Prop
with Type
to get the version on the slice category of Set (well, Type)
Although you might want to prove something stronger than <->
, albeit there might be some theorem for free that applies here...
It's a bit fun that formalizing the "proof irrelevant" version in Coq gives you the proof relevant version for free...
Forgot to ask - why does Proposition 5 (pullbacks preserve colimits) ask for and to all be cartesian closed? Isn't just cartesian closed enough by the previous prop?
@Christian Williams I wanted to double check I wasn't missing a key intuition for theorem 2 from chapter 9.
Theorem 2, part (Left Adjoint):
The proof sketch you gave in the meeting was:
I didn't know how to quickly make"there exists" into "union". But union being a coproduct seemed like a significant point you wanted to emphasize.
I don't think the proof I made uses the union definition, is that bad? Am I cheating below? My proof:
Theorem 2: For any function between sets Z and Y the inverse image functor between subsets has a left adjoint . That is
proof:
We'll prove the left to right direction first.
Suppose . This is equivalent to . The set is by definition | there exists a with and . So gives
if we have a such that then .
Substituting to the left of the then, into the to the right of the then gives:
if we have a then
But this just means
if we have a then . In other words .
We proved by assuming , so
.
Now for the reverse direction
Suppose , this means
s in S implies s in , which by definition of gives
s in S implies f(s) in U, call this implication (*)
Now, suppose x is in , that is, there exists a z in S so that f z = x.
z in S implies, because of condition (*), that f z is in U. Or in other words, x is in U.
This means .
We proved assuming , that is, we proved
This gives the reverse implication, completing the proof.
Sure, this proof looks good too.
Theorem left_adjoint : forall S T, subset S (f_star T) <-> subset (exists_f S) T. Proof. intros. split; intros H x H0. - destruct H0 as (x0 & H0 & H1). rewrite <- H0. apply H, H1. - apply H. exists x. split; [reflexivity | assumption]. Qed. Theorem left_adjoint' : forall S T, subset S (f_star T) <-> subset (exists_f S) T. Proof. intros. split; intros H x H0. - destruct H0 as (x0 & H0 & H1). rewrite <- H0. apply H, H1. - apply H. exists x. auto. Qed. Theorem right_adjoint : forall S T, subset (f_star S) T <-> subset S (forall_f T). Proof. intros; split; intros H x H0. - intros z H1. apply H. unfold f_star. rewrite H1. assumption. - apply (H (f x)). + exact H0. + reflexivity. Qed. Theorem right_adjoint' : forall S T, subset (f_star S) T <-> subset S (forall_f T). Proof. intros; split; intros H x H0. - intros z H1. apply H. unfold f_star. congruence. - apply (H (f x)); auto. Qed.
I was looking at the previous Coq proofs and felt they were a bit verbose, so I thought I might as well get a little rust off my Coq skills. The theorems with a '
use some light proof automation to skip some easy steps, and the regular version is just the same proof only compacted down a little.
There are probably a few more things that could be done by automation, but I'm happy for now
ah, this is the kind of thing you might want to use my depleted CT coq development for, once it's in a place where i'd release it :-)
I guess, though this is a ridiculously trivial example. Anything more complex and the pain goes up (locally) exponentially.
Andre Knispel said:
There are probably a few more things that could be done by automation, but I'm happy for now
My guess is that firstorder
might clear both of these right up.
When I care about a theorem, I try to find a canonical proof. Today I was trying to do that for the quantifier adjunctions. It only became clear when I thought of as a coend and as an end.
quantifiers.png
Here we are viewing sets as discrete categories, and subsets as predicates (functors) , . Then precomposition by is preimage, and quantification is Kan extension.
This is satisfying; but it depends on the fact that you can interpret sets as discrete categories. The equivalence does not even make sense for a general (locally cartesian closed) category. But surely there's a way to continue this nice "universal" version of the story to that level of generality...
Where does this syntax come from? I can follow the proof from context but I don't really get what that means.
Thomas Read said:
Where does this syntax come from? I can follow the proof from context but I don't really get what that means.
Yes, sorry I should explain more. We're thinking of sets as "proposition-enriched categories", where instead of hom-sets we have hom-truth values -- which is true if the two elements are equal, and false otherwise.
So you can read
as
"for all , for all , if , then if then ".
Christian Williams said:
Thanks Morgan Rogers; I need to think about this. When is locally cartesian closed, it is in particular self-enriched. Then if can be made into a trivial internal category, the question is whether it can be translated to an enriched category so that we can ask whether .
See "enriched and internal" topic for discussion of this.
@Ryan Wisnesky I understand that there is an analogy between and , and ; but so far the only way that we're understanding it as an actual generalization is in the case of . do you or @Mike Shulman or anyone else know how to make the generalization precise for an arbitrary LCCC?
Maybe it's not so good to bring the discussion back here either... but oh well; this Sunday we were talking about quantifiers as adjoints, so it's relevant.
presumably you want something stronger than " is a left adjoint, which can therefore be written as a left Kan extension"?
Yes, a deeper connection. A conceptually clear, unbroken chain of generalization from to to which includes the general and .
Well, the case of Set can be repeated essentially verbatim for any LCCC by talking about Kan extensions between presheaves on internal categories. Is that what you want?
This sounds great and I need to work it out for myself. I don't yet see how this gives and . But, given any in we have the triple adjoint; what if and are internal categories only trivially?
Do you mean that when is an internal category, the category of internal presheaves on is equivalent to the slice category over ? (Hm, no because there can be many category structures on .)
Looking through the "internal category theory" chapter of Jacobs' Categorical Logic; probably in here.
Close: the category of internal presheaves over a discrete internal category is equivalent to the corresponding slice category.
Here's a question that came up in the reading group last week, and I just want to jot it down to see if anyone has any thoughts: why is it useful to consider the category of presheaves over as the free cocompletion of ? What's special about colimits that we want them all, and why is having the free such device useful? In particular, there is no clear relation between these new colimits and the old colimits of .
Cody Roux said:
Here's a question that came up in the reading group last week, and I just want to jot it down to see if anyone has any thoughts: why is it useful to consider the category of presheaves over as the free cocompletion of ?
I think one answer is because this universal characterization leads to the nerve and realization construction. For any small category and any locally small cocomplete category , to give a functor is equivalent (by this characterization) to give a cocontinuous (= small-colimit-preserving) functor , which in turn is equivalent (by an adjoint functor theorem) to give a left adjoint functor (“realization”; its right adjoint is “nerve”).
In fact the freeness of the presheaf category means that there is no relation between the new colimits and the old ones of C, in as strong a sense as possible: the only colimits that are preserved by the Yoneda embedding are the absolute ones, those that are preserved by any functor whatsoever for purely diagrammatic reasons.
You can, however, force the Yoneda embedding to preserve any particular colimits you like in C, by restricting to the subcategory of presheaves that preserve those colimits. This is described (among other places) in section 3.12 of Kelly's book.
One way to motivate the free cocompletion is to think of colimits as analogous to sums in algebra. Then the free cocompletion (i.e. presheaf category) of a category C is analogous to the free abelian group (or module) on a set. Not every module is free, but the free ones are very important, not least because any module admits a presentation as a quotient of a map between free modules. Similarly, any locally presentable category admits a presentation as a sort of "colimit" of presheaf categories.
Here's a nice example of the analogy Mike pointed out between the free abelian group on a set and the free cocompletion of a category . If is a monoid then the multiplication on extends to a bilinear map
making into a ring, the monoid ring of . (The case where is a group is the most famous, and then we speak of the 'group ring'). Following the analogy, we see that if is a monoidal category becomes a monoidal category where the tensor product is cocontinuous in each argument. The tensor product on this monoidal category is called Day convolution.
Mike Shulman said:
In fact the freeness of the presheaf category means that there is no relation between the new colimits and the old ones of C, in as strong a sense as possible
Thanks everyone - this is something that confused me until quite recently, and these explanations have really helped finish sorting out my mental models.
When I first heard "free cocompletion" without knowing what it meant, I assumed that it would mean adding in all the colimits that don't exist in but leaving the ones that do exist alone... which is very wrong for colimits, but actually a fairly accurate description of what the Yoneda embedding does to limits!
Does anyone have a reference for proving that a colimit is absolute iff it is preserved by Yoneda? I've found the result mentioned in several places (e.g. https://ncatlab.org/nlab/show/absolute+colimit) but no details of a proof beyond "because it's the free cocompletion"
Thomas Read said:
When I first heard "free cocompletion" without knowing what it meant, I assumed that it would mean adding in all the colimits that don't exist in but leaving the ones that do exist alone... which is very wrong for colimits, but actually a fairly accurate description of what the Yoneda embedding does to limits!
Is there any theorem along these lines?
For how the Yoneda embedding affects limits?
Like 'The Yoneda embedding is universal among completions that preserve all limits'?
Ah okay - I don't know
(actually I was wondering the same thing myself)
I guess Mike Shulman's reference to Kelly's book should give the answer, but I'm not understanding section 3.12 on its own, and I don't want to read an entire enriched book to get the answer.
Yeah same. This happens to me enough that I probably just need to learn enriched category theory properly someday....
Thomas Read said:
Does anyone have a reference for proving that a colimit is absolute iff it is preserved by Yoneda? I've found the result mentioned in several places (e.g. https://ncatlab.org/nlab/show/absolute+colimit) but no details of a proof beyond "because it's the free cocompletion"
I don't know a reference, but the proof is pretty simple. A cocone is colimiting if and only if every representable presheaf maps it to a limiting cone. A colimiting cocone being preserved by Yoneda corresponds the stronger fact that every presheaf maps it to a limiting cone.
Now, let be a functor, and a colimting cocone in preserved by Yoneda. Then for any representable presheaf of , the induced presheaf on turns the colimit into a limit . Therefore is a colimiting cocone.
Note that we haven't used that is representable, so this argument shows that is also preserved by the Yoneda embedding of , which is also easy to see directly.
Thanks! That's a really beautiful argument
I need to be writing today, but I hope y'all still meet and let me know what you cover.
Maybe Easter was a bad choice of day :hatching_chick: :hatching_chick:
How are people getting on with the material? Do we want to find another time or wait till next Sunday?
I was going to ask: did the meeting happen? I think Sunday is fine, as long as we expect a couple of duds on Easter and Christmas or whatever.
As far as I know, it did not. Next Sunday ought to work to me
Sunday sounds great :+1:
How far did you get? I am currently at the beginning of the second chapter and reading one section a day (a bit late to the party I guess :))
Mike Shulman said:
Well, the case of Set can be repeated essentially verbatim for any LCCC by talking about Kan extensions between presheaves on internal categories. Is that what you want?
Just wanted to clarify -- here you're talking about forming as a proarrow equipment, using the adjoints-to-composition to define co/limits, and hence internal Kan extensions, correct?
Also, did we ever decide whether we wanted to start our own stream or merge with #theory: topos theory ?
Anton Lorenzen said:
How far did you get? I am currently at the beginning of the second chapter and reading one section a day (a bit late to the party I guess :))
The plan for last Sunday had been to get up to the end of chapter 2 section 4. Since that meetup didn't happen I'm not sure if we'll try to get a little further by this Sunday or not, but either way sounds like you'll be caught up by then!
The second chapter was a bit harder and we (me and a friend) only made it to the end of section 6. How are you progressing?
That's about where I am at the moment
Chapter 2 was the main focus of our course last quarter.
Do y'all want to meet at the usual time? I can join for 45min.
Sounds good for me
https://ucr.zoom.us/j/97463722948?pwd=SXlaRTcrVXJHQzhmMFIzQVNDNzhMUT09
Thomas and I talked about Ch. 2; everything was fine because we knew about the nerve-realization form of the adjunction between presheaves and bundles. Now we're wondering whether the same can be done for general Grothendieck topologies -- does anyone know?
Besides that question, we decided to go on to Ch. 4 First Properties of Elementary Topoi, to get on to the logic. Let us know if that works for you.
Sounds good, though I had mentioned wanting to get the basics of Sheaves at some point...
Also: since sheaves over a general Grothendiek topology are a subcategory of presheaves, is there anything else to add to the construction?
Over spaces we have a nice equivalence between "etale spaces over X" and "sheaves on X", which Mac Lane and Moerdijk obtain by restricting the adjunction between "bundles over X" and "presheaves on X", so I think Christian is asking how much of this persists in the case of general Grothendieck topology.
All I can say is that I haven't seen anyone try to define bundles over a category with a Grothendieck topology.
sounds grothendieck construction-y to me
The nlab page for fiber bundles gives a section regarding fiber bundles over a site: https://ncatlab.org/nlab/show/fiber+bundle
Nice! But this is actually the concept of fiber bundle over an object in a site.
(I think any object in a site gives a site, namely its slice category???)
I'd forgotten we hadn't actually finished chapter II yet - do people want to move straight on to logic, or should we finish chapter II + do some exercises and then decide next week?
John Baez said:
All I can say is that I haven't seen anyone try to define bundles over a category with a Grothendieck topology.
@Riccardo Zanfa and I tried to do this just over a year ago, and it was one of the routes into this analysis, which it seems @Chaitanya Leena Subramaniam and Mathieu Anel have taken to much further than we did. I think that someone trying to get a concrete understanding of their paper could certainly try to put their results in geometric terms.
I am not sure how much time I'll have this week, but I could commit to reading three sections.. So maybe we set 4.3 as a goal and those with time and interest can do the rest of chapter two?
That sounds reasonable.
For those of you getting to chapter IV section 3, I found a much easier construction of exponentials from power objects here: https://www.youtube.com/watch?v=y9D0YRn_HZk
The idea is that you show that the limit of a diagram consisting of "baseable" objects (i.e. objects such that exists for all ) is itself baseable. Then for any object in a topos we have an equalizer diagram that looks like (where is what Mac Lane and Moerdijk call the "singleton arrow" ). And and are baseable so we find that is baseable.
More explicitly we get that is the equalizer of a diagram that looks like
since and . It ought to be fairly straightforward to show this is just another way of writing the definition that Mac Lane and Moerdijk find.
Having covered up to the end of Chapter III, anyone in this reading group has enough background to read my paper with @Jens Hemelaer ; perhaps some of you will find it interesting :wink:
@Christian Williams I'm afraid my knowledge of Kan extensions is completely confined to Set
What time are we meeting this PM (or wherever your time zone is)?
I was just reading about sheaves in Goldblatt's Topoi.
(Got stuck for a while on saying the subobjects of 1 are isomorphic to the set of functions into Omega, when I realized that there is the function that is always around)
We usually do the meeting about 15 minutes from now, if no one has strong preferences to the contrary
@Cody Roux @Philip Zucker @Christian Williams @Reed Mullanix @Fatima Afzali @Alex Kreitzberg @Stelios Tsampas @Anton Lorenzen @nadia esquivel márquez or anyone else who wants to join
Works for me!
send me a link too! The previous zoom link is o longer valid.
Do people want zoom or jitsi? (I only have a free zoom account so if we do that might be best if someone else sets it up)
I don't have a zoom acct but I could set one up
Sure!
Ok, looks like I can't start a meeting for some reason
Shall we just use Jitsi then
Brief summary of the meeting:
We started by talking about Chapter II. We discussed the definition of a sheaf and motivation for this being an important concept. We considered the intuition for sheafification and basic examples. We then moved on to the beginning of Chapter IV, and talked about the various different definitions of an elementary topos. We also discussed good examples to keep in mind of non-Boolean toposes.
Also more things which I've forgotten!
Next time the plan is to read up to Chapter IV Section 6. People seem especially interested in understanding the Beck-Chevalley condition.
I pointed to Goldblatt's much more introductory book Topoi: The Categorical Analysis of Logic which I was just reading a chapter on sheaves on.
I mentioned complement Topoi and their relation to closed topological sets and falsificationist logic as discussed in the bi-Heyting algebra thread in this forum.
I asked if Sheaves were related to HoTT, where I came across the concept too, and tried to understand it by writing up a blog, but apparently HoTT needs pre-sheaves in order to fit in with HoTT's concept of Universes.
I wondered where exponentials come up in Topoi (that was what I was researching today thinking they would come in the definition of implication. But apparently they are more likely to come in at the level of quantification. So I need to look there.)
An example of a topology may be to look at recursively enumerable sets. Another example to look at is the realizability topos.
Thanks, it was very helpful to see how these concepts are intuited by different people and to see what uses others are making of them.
That sounds nice! I missed it unfortunately, but I am going to try to take part next week. Will the next meeting also be around 8 pm Berlin time on Sunday (like today?)
I would like to talk about Beck-Chevalley, because that's one of the subtler aspects of this game.
Yes - let's do that next week. @John Baez, does 11am PST work for you?
Probably. I'll either be there or I won't.... don't worry about me. What material on Beck-Chevalley are you trying to cover? The stuff in Sheaves in Geometry and Logic, or something else too?
Hey @John Baez are you still up for explaining this Beck-Chevalley stuff?
I could also use a bit of intuition on Beck's theorem, right now I don't get it at all
People ready to start in 10 minutes?
Good to go on my end
@Cody Roux @Philip Zucker @Christian Williams @Reed Mullanix @Fatima Afzali @Alex Kreitzberg @Stelios Tsampas @Anton Lorenzen @nadia esquivel márquez @John Baez etc
Also I forgot how hard Beck's Theorem is
Thomas Read said:
People ready to start in 10 minutes?
Red 5, standing by
@Cody Roux I'm not an expert, but you might want to look at this, which seems related to me.
E.G. I think it might be saying that D is (equivalent to) a category of algebras on objects of C iff it has free algebras (left adjoint) and it has all algebras presentable by generators and relations.
(forgot to add @Henry Story to my long list of people to tag)
Unless that's not the sort of intuition you're looking for.
That's a really cool way of looking at it
link to the meeting?
Dan Doel said:
Unless that's not the sort of intuition you're looking for.
It is!
So: one of my big questions coming out of this is: what is a good reference for an internal logic of toposes? The ideal reference for me would do this in a style as close as possible to the classical ZF/IZF/CZF presentation, rather than, e.g. what can be found here: https://ncatlab.org/nlab/show/fully+formal+ETCS#the_theory_of_elementary_toposes which is still very categorical in flavor.
Some references I personally know of:
J Lipton's chapter in "The Curry Howard Isomorphism", where there is an interpretation of IZF into Toposes (which builds a model of IZF in a topos with some extra conditions)
A. Simpson's chapter in "From Sets and Types to Topology and Analysis", where is defined BCST(+Pow) which is claimed to be an internal language for elementary toposes, which seems like the closest thing to what I want.
this might be relevant https://ncatlab.org/nlab/show/Mitchell-B%C3%A9nabou+language
sarahzrf said:
this might be relevant https://ncatlab.org/nlab/show/Mitchell-B%C3%A9nabou+language
We're getting to that next. Something that is troublesome though, is that the current chapter is taking a quite nuclear approach to proving that finite colimits exist, as well as exponentials, whereas it seems like working within some logical internal language would be astronomically easier for some poor logician like myself. It's not clear however, that the version of the Mitchell-Benabou language in the book can even be defined before doing all this tough leg work.
So there's a kind of chicken and egg problem.
haha yes big mood
i constantly write shit down pointfully, sometimes even do set comprehension, when ive literally never worked thru the details of interpreting something like mitchell-benabou :upside_down:
well ok ive probably at least earned STLC
Some things I mentioned.
since we are to Geometric Morphisms: in Modal Homotopy Type Theory David Corfield (someone should invite him) writes:
"The slogan here is that, where HoTT itself is the internal language of (∞,1)-toposes, modal HoTT is the internal language for collections of (∞,1)-toposes related by geometric morphisms"
In Maruyama's recent phd thesis Meaning and duality: from categorical logic to quantum physics he writes:
Dualities are often induced by Janusian objects, which sometimes form truth value objects as in topos theory.
and later
Our general theory of dualities between point-free and point-set spaces builds upon the celebrated idea of a duality induced by a Janusian (aka. schizophrenic) object: “a potential duality arises when a single object lives in two different categories” (Lawvere’s words quoted in Barr et al. [24]).
He uses the term to denote those.
I did not get that far into reading the thesis. But it could be interesting to this group as it seems to involve topoi.
oh damn i should learn some modal hott :eyes:
BTW plan for next week is to read the couple sections later on in the book on the Mitchell-Bénabou language and Kripke Joyal semantics, as well as maybe skim the rest of Chapter IV.
Sorry, I was busy. I'm not sure "explaining" Beck-Chevalley is something I can do at this point, more like "assembling lots of facts about it in hopes of getting a really clear explanation". I'd be happy to discuss it here. I'm not so good at video meetings.
I'd love to hear about it here! At the moment I get the impression from other people that it's important, but I'm not really sure how to think about it or why I should care about it
At present I think of a Beck-Chevalley as an "unexpected relation between inverse images and direct images, that you might not have noticed if you weren't paying careful attention". It shows up in lots of contexts.
Here's a basic one. Suppose you have a map of sets . Then you have the usual "inverse image" map sending subsets of to subsets of :
but also the usual "image" map, which Mac Lane and Moerdijk call
i.e. for any subsets
Now, if you have a commutative square of maps between sets... ugh, something like
D ----> C
| |
v v
B ----> A
there are two ways to turn subsets of B into subsets of C.
You can take their inverse image and then their image, or take their image and then take their inverse image!
In other words, you can go up and then to the right, or to the right and then up.
The results are not usually the same.
Puzzle 1 (for beginners only). Find an example where the results are not the same.
However, if our commutative square is a pullback square, the results are always the same!
Puzzle 2 (for beginners only). Show that if our square is a pullback square in Set we get the same thing if we take any subset of B and
1) take its inverse image and then take its image
or
2) take its image and then take its inverse image.
Was all this too obvious, @Thomas Read? This is the basic idea of Beck-Chevalley - it's an example of a general pattern. This probably don't explain why it's important, but basically you can count on anything so simple as this being important if it's not an instant consequence of other simple things.
No, that helps! Thanks! I'd only seen the first version stated in the book, which insists that two of the maps are monos - I'm much happier with this symmetric version.
So in Set I think (slight spoiler for @John Baez 's question below)
.
.
.
.
.
the Beck Chevalley condition holds for a commuting square iff the canonical map is surjective, which in Set is the same as asking that the square is a weak pullback. I don't know whether any of that generalises to other toposes?
Cody Roux said:
We're getting to that next. Something that is troublesome though, is that the current chapter is taking a quite nuclear approach to proving that finite colimits exist, as well as exponentials, whereas it seems like working within some logical internal language would be astronomically easier for some poor logician like myself. It's not clear however, that the version of the Mitchell-Benabou language in the book can even be defined before doing all this tough leg work.
The reason for going through all this legwork is really independent of the logical or geometric content of toposes: it's showing that in order to have all of the properties/structure of a topos, we only need to verify a minimal amount, and the remainder is automatic. It's possible some of the proof of that fact could be done by other means; a higher logic interpretation of the power object adjunction might be interesting! But if you're happy to accept or assume that the structure is there already, or if you can show it's there by other means, then you can get straight into the logic without worrying about it.
Morgan Rogers said:
Cody Roux said:
We're getting to that next. Something that is troublesome though, is that the current chapter is taking a quite nuclear approach to proving that finite colimits exist, as well as exponentials, whereas it seems like working within some logical internal language would be astronomically easier for some poor logician like myself. It's not clear however, that the version of the Mitchell-Benabou language in the book can even be defined before doing all this tough leg work.
The reason for going through all this legwork is really independent of the logical or geometric content of toposes: it's showing that in order to have all of the properties/structure of a topos, we only need to verify a minimal amount, and the remainder is automatic. It's possible some of the proof of that fact could be done by other means; a higher logic interpretation of the power object adjunction might be interesting! But if you're happy to accept or assume that the structure is there already, or if you can show it's there by other means, then you can get straight into the logic without worrying about it.
I agree, but my question is: does this legwork involve defining exponentials and colimits first? Otherwise I'd be happy to do that once I have a thing that's close to a set theory, just by doing the usual logical constructions.
I decided illustrate a subobject of an RDF graph in the topos of graphs (using A Guided Tour in the Topos of Graphs for help).
Here the arrows are named by triples and the objects are the first and third projections, so we have a graph given by
In the illustration I avoided the duplication by just naming the arrows with the relation.
GraphTopos.jpg
This is different from RDF graph homomorphisms (see Benjamin Braatz's thesis), of which there are a few different ones. The simples one keeps the literals in square brackets and the nodes names with URIs fixed, whereas simple Graph homomorphisms don't make that distinction. Interestingly @Ryan Wisnesky had to re-structure the work on Functorial Databases in order to avoid his inferencing engines just collapsing isomorphic graphs even though the literals were distinct -- for just that reason.
Now I am wondering what is the opposite of the Category of Graphs?
Is it that the opposite of a category that is a Topos is always a category of homomorphisms between objects that are Heyting lattices of subobjects from the topos?
(I am extrapolating from )
Cody Roux said:
I agree, but my question is: does this legwork involve defining exponentials and colimits first? Otherwise I'd be happy to do that once I have a thing that's close to a set theory, just by doing the usual logical constructions.
What do you mean by "defining"? It's being shown that those things exist given only finite limits and power objects; we could just take our definition of a topos to include finite colimits and exponentials, but the point is that we get these things for free. If you don't care about starting from the most efficient possible definition, then none of this legwork is necessary, you can just work under the assumption that they're there :wink:
Indeed @Henry Story this is a key point for applied category theorists to remember: when you are treating sets as data in CS applications, equality on the nose can matter, and constructions that are only defined up to isomorphism may be too lose to be practical if used naively. The first time we ran a left Kan extension in CQL data such as 'Bill' and 'Alice' did indeed disappear, replaced by autogenerated identifiers in an isomorphic way, and it caught us off guard, despite being so obvious in retrospect. We then had to add additional structure on categories to preserve these 'attributes' during data migration, triggering all the papers with David Spivak
I was catching up on reading "Shaves in Geometry and Logic", which oddly misses out on the topos of graphs. Reading chapter 1, a Topos is strongly related (identified?) with the Category of Functors . This is so close to Spivak's functorial Databases which are functors where is a small category playing the role of a schema. Why does this appear here when thinking about topoi?
(The article Relational foundations for functorial data migration I think is the article that first looks at how to add typing to a DB schema instance so as to pin down certain types)
[Cop, Set] are the (Set-valued) presheaves, [C, Set] are the (Set-valued) copresheaves
space and quantity is a very deep and somewhat bewildering rabbit hole, one of the major contributions of category theory. isbell duality etc. check out yoshihiro maruyama's work.
generic figures and their glueings is a very good (free!) introduction to presheaf toposes (from what i've heard). described as a stepping stone to sheaves in geometry and logic. six visualizable examples follow you through the book.
Henry Story said:
Reading chapter 1, a Topos is strongly related (identified?) with the Category of Functors .
Not quite. Presheaf toposes form a subclass of Grothendieck toposes, which form a subclass of elementary toposes. They're one of the easiest classes of topos to work in, and every Grothendieck topos is a subtopos of a presheaf topos. This is why they're introduced first.
Henry Story said:
Why does this appear here when thinking about topoi?
We want the Yoneda embedding to be covariant: each object gives a representable presheaf .
Sometimes it can be more convenient to work covariantly and think of the resulting topos of copresheaves as "presheaves over ", though.
Henry Story said:
Now I am wondering what is the opposite of the Category of Graphs?
Is it that the opposite of a category that is a Topos is always a category of homomorphisms between objects that are Heyting lattices of subobjects from the topos?
(I am extrapolating from )
This is an interesting question: can we generalize the usual result to an arbitrary topos in a nice way?
Is there an analogue of a complete atomic Boolean algebra in a general topos , such that is equivalent to the category of these?
Seems unlikely, given how messy the Heyting algebra is in a general intuitionistic set theory (it doesn't even have to be a set!).
Of course it does have to be a set in a topos. It can be uncountable though.
But the natural intuition of: "atoms of are sets for every " definitely doesn't fly here, since there a lot of subsets of in general.
@Cody Roux haven't you already gotten to Section 5 of Chapter IV in the reading group?
Yes...
In particular, Theorem 3:
The power-set functor is monadic (for any topos )
Don't see how it solves this particular problem though...
That is, is equivalent to the category of algebras of some monad on the topos
Well then I guess I'm wrong!
I'm saying that in principle one could extract a theory describing what those algebras are, albeit a general construction would have to be indexed over the topos.
So the "algebra" here would be "algebras of the functor"?
The double powerset, in fact :hushed:
Cool
This is enlightening.
I'm not claiming to have provided a comprehensive answer, but seeing as monadic over makes an affirmative answer seem less of a stretch, I think :innocent:
Yeah, I think that @Mike Shulman and/or the nLab talks about a generalization of the double powerset functor for any topos that acts as a monad whose algebras give .
Or something like that: I'm probably getting the details mixed up.
Okay, here we go:
In fact, for any elementary topos ℰ, the power object functor defines an equivalence of ℰ with the opposite category of that of internal complete atomic Heyting algebras. (This phrase can be interpreted using the internal language of ℰ.)
Aha! My argument vindicated! :stuck_out_tongue_wink:
It's worth noting that a similar thing will work whenever the functors appearing in Isbell duality are monadic, which yields relativised versions of this construction for any expression of a topos as internal presheaves over a base topos. I wonder how far this can be taken.
@Olivia Caramello has done a lot of work on using toposes to obtain and study dualities. She might have some further insights to share, or some references about this.
Cody Roux said:
But the natural intuition of: "atoms of are sets for every " definitely doesn't fly here, since there a lot of subsets of in general.
My thought was more as follows: 1) the subobjects of a any object in a topos T form a Heyting lattice (actually a hefting algebra, but that forms something that is an extended lattice as far as I understand) 2) so perhaps is a category given by the functor that maps objects x of T to their Heyting "lattice". The would then have as objects Heyting lattices and as morphism the morphisms between such "lattices". There is no requirement that there be atoms of the heyting lattice. I was admittedly trying to generalizing from one case. ;-)
Am just reading now the helpful Generic figures and their glueings, A constructive approach to functor categories recommended by @Morgan Rogers . Hopefully my intuitions will soon be better. :-)
Oh actually that was recommended by @Pastel Raschke, but it looks like a reasonable gentle introduction to me too :grinning_face_with_smiling_eyes:
John Baez said:
All I can say is that I haven't seen anyone try to define bundles over a category with a Grothendieck topology.
@John Baez With @Riccardo Zanfa we are currently writing a paper on stacks and relative toposes where we establish, among (many) other things, for any small-generated site (C, J), an adjunction between the category of C-indexed categories and that of toposes over Sh(C, J), which generalizes the classical presheaf/bundle adjunction. This sends, on the one hand, a C-indexed category to the topos of sheaves on the domain of the corresponding fibration with respect to the Grothendieck topology on it lifted from the base (a topology originally introduced by Giraud in the context of stacks, which can also be characterized as the smallest Grothendieck topology which makes that fibration a comorphism of sites to (C, J)), and, on the other hand, a topos E over Sh(C, J) to the C-indexed category sending each object c of C to the category of geometric morphisms over Sh(C, J) from the relative topos Sh(C, J)\slash l(c) (where l is the canonical functor from C to Sh(C, J)) to E. Once we have completed this work, I will make sure to inform you.
Morgan Rogers said:
Olivia Caramello has done a lot of work on using toposes to obtain and study dualities. She might have some further insights to share, or some references about this.
The monadic approach to Stone-type dualities is well presented in section VI.4 of Johnstone's book Stone spaces, and can clearly be generalized to the setting of an arbitrary base topos. Also my approach to the construction of this kind of dualities via 'bridges', introduced in this paper, can be generalized to arbitrary base toposes, since the tecniques employed in it are pointfree and constructive.
Have been away 4 days doing administrative tasks and found 650 new messages here :-)
Henry Story said:
Am just reading now the helpful Generic figures and their glueings, A constructive approach to functor categories recommended by Pastel Raschke . Hopefully my intuitions will soon be better. :-)
That book is very helpful. In the time I had remaining I been reading it very careful, to make sure I understand the new notation. So I am only at page 40. It is just the right level for me.
It looks like I had some good intuitions about gluing and RDF when I wrote this blog post on Data and Interpretation where this image comes up Bob.jpg (which is a gluing of an image onto another)
For those with a historical/philosophical interest, The End of the Metaphysics of Being and the Beginning of the Metacosmics of Entropy Daniel Ross traces evolutionary thinking back to the presocratic Empedocles who 2500 years ago, conceived of the world as arising by chance and evolving randomly. He imagined randomly arising body parts (eg. eyes, and arms) being glued to other body parts in order to create the creatures that we see.
What does this have to do with the reading group on Sheaves in Geometry and Logic? It makes sense to keep this particular discussion tightly focused on questions that come up when people are studying that book.
As I understand "Generic Figures and their Glueings" is the comic strip version of "Sheaves and Geometry and Logic" :-)
liveblogging generic figures should probably go in its own topic, maybe in the topos or general stream
I'm not going to be able to make it to the meeting today - if someone can post a brief summary of what happens that would be great!
Also I arbitrarily nominate @Reed Mullanix to start the video call if he's around
Same, sadly. Try not to do anything too interesting!
Im gonna have to miss it as well :(
I don't think that leaves anyone over. Which is fine, as it will give me time to catch up (if that still is possible).
I like to look at the Beck-Chevalley for slice categories of Set like this: It is the categorical analogue of the basic fact in linear algebra that composition of linear functors is given by matrix multiplication.
To see this, note that slice categories are the objective analogue of vector spaces: a vector space spanned by S is a linear combination of elements in S, i.e. a (finite) family of scalars indexed by S. (The word finite should be put in many places, let's ignore that.) Similarly, an object in the slice category Set/S is a family of sets indexed by S. Just as the vector space on S is the linear-combination completion of S, the slice category is the sum-completion. A linear functor is a functors Set/S -> Set/T that preserves sums. One shows that these are given by spans S <- M -> T by pullbacks and postcomposition.
Beck-Chevalley says that: composition of linear functors is given by pullback composition of spans.
(People often say that Span(Set) is a categorification of Vect. I agree of course, but I would rather say that it is a categorification of matrix algebra, and that the actual categorification is the category of slice categories and linear functors. They are equivalent of course :-) But with slice categories you see the actual vectors!)
Yeah, the first time I understood Beck-Chevalley was when I was helping Jeffrey Morton with his thesis (on groupoidification and TQFTs), and we were using spans of groupoids to transport Vect-valued presheaves on to Vect-valued presheaves on , by pulling back and then pushing forward.
For this procedure to be functorial - for it to send the composite of spans of groupoids into the composite of maps - we needed Beck-Chevalley.
In fact this just is Beck-Chevalley.
I don't know if the type theory interpretation is already known to the people who asked, or too similar to the set theory one, but I think it works like this:
In the original Beck-Chevalley square, two of the pullback functors are going to have left adjoints. Pullback is like substitution to change contexts in type theory, and the left adjoint is usually said to be the Σ type. To make the correspondence better, though, those should be the pullback of projection substitutions like which induces weakening . The other axis is just an arbitrary substitution which gives a transformation
The commutative square of pullbacks is induced by the choice of whether to do the arbitrary substitution first or weaken first. So, the other functors involved are for weakening after substitution, and for substitution after weakening. The two weakening functors have left adjoints and .
The Beck-Chevalley page says that the adjoints induce a 'mate' . This says that if we show a term by first substituting and then quantifying, it induces a term where we first quantify and then substitute. So there is a rule like:
That's good, because it tells us how to get terms of the substituted type on the bottom. However, it's bad because the rule only goes one way, and we want to define the substituted type to actually be the same thing as the type built in the substituted context. So, Beck-Chevalley says that this is actually an isomorphism, and we are justified in treating the types as the same. If it didn't hold (for some category we want to reason about with type theory), then we would need a type theory where a value of type may not be usable as if it had type . It's not clear to me what you could even do with the former type in that scenario, though. It is not merely an 'explicit substitution' theory, but one in which those substitutions fail to commute through type formers, so I suppose you would need operations that deal directly with substituted types.
There is a similar condition for Π types, but I think for the opposite direction.
Are we doing this thing today?
I did not advance much this week sadly. Though I got a better understanding of the first 50 pages of "Generic figures and their glueings" (and also skimmed forward -- after p100 I start getting lost)
I'll be around for a little bit if people are keen (though haven't had much time to look at the book, since I'm revising for exams at the moment)
Were you going to be around on the same Jitsi link? https://meet.jit.si//858207502247751
Sure, I'll join in a minute
We had an interesting discussion on a variety of topics in this call.
One thing I was wondering about regarding presheafs (as explained for example in Generic Figures and their Glueings comes from noticing how similar presheafs are to @David Spivak functorial semantics of databases. These are seen as functors from a small category of schemas to ie the functor . A presheaf is the functor . Why does this appear. (I think I got an answer somewhere to this recently - ah yes here, but that does not explain the relation to Functorial DBs). Perhaps @Ryan Wisnesky will know. We were guessing this was related to something from topology. But coming from computing the simple functorial view seems easy to understand. So it would be nice to understand what is gained by the
The intention of each is different. Saying that a database is a functor is like treating as an algebraic theory, and looking at models in . Maps in the functor category are homomorphisms of models. This is like Lawvere theories and such.
But generally, one is not interested in single presheaves as some kind of -like thing. I think generally one is interested in the presheaf category as a richer setting for models to lie in. So a presheaf is like a richer sort of set whose values vary according to . Then you want to look at models in the presheaf category, say.
One notable 'model' is the Yoneda embedding . This is like a model of in that is equivalent to the original . But has much more structure, so it can be useful to work with this model to deduce facts about (this is how 'representability' arguments work).
Also, this shows up in type theory quite readily. If is your syntactic category, then functors are like models of your type theory where types are interpreted as sets, and terms as functions between them. If you want to create a syntactic sort of model, the obvious one of this sort is where each type is interpreted as the set of closed terms of that type. A term is interpreted as a function on sets that takes closed terms for and produces a closed term of type .
However, there are all sorts of examples where only considering closed terms is not good enough, even if you want to prove a theorem about closed terms. So, you start to consider open terms, but that is exactly what presheaves and the Yoneda embedding get you. Presheaves are like sets that vary coherently depending on a context . The Yoneda embedding takes each type to the presheaf of open terms .
There are some more intricate constructions where isn't the same in both cases, but that is the general idea of how it arises in type theory.
There are other, simpler examples of this idea arising in type theoretic/programming contexts, too. For instance, the categorical way of modelling de Bruijn indices is as functors . You might say that is covariant, but this is misleading. The way to think about these as related to the above is that they are presheaves on . And the reason for this is that is the free Cartesian category with one object. So, it is like the category of contexts where there is only one type with no structure.
So, then, becomes a setting to have models of algebras with untyped variables.
Yes @Henry Story , we very well could have used presheaves instead of copresheaves, but the connections to algebraic theories and their models are most direct without going through an op, as @Dan Doel says. The approaches are equivalent and we do pay for it later: when writing CQL queries, there are places where given a foreign key f : s -> t, the user has to provide a "widget from t to s", rather than s to t, and it's tricky. So maybe one way to describe the choice is that using copresheaves makes schemas easy but queries hard, and presheaves makes schemas tricky but queries easy. The details are in the algebraic databases paper and I'd be happy to elaborate; profunctors and 'frozen databases' would be involved
One aspect of B-C is that it makes the translation from categories "work" - e.g. the correspondance between the categorical structure and its logical counterpart. An example may be found in my thesis (Hyperdoctrines, natural deduction, and the Beck condition. (RAG Seely, Zeitschrift f. math. Logik und Grundlagen d. Math. 29 (1983) 505-542.)) which deals with this in the Lawvere-ian context of first order logic with equality, but many similar examples abound.
Reading Generic Figures and their Glueings I came across the description of a Category of the (a pre-sheaf), which seems to me to be very much like a Grothendieck construction that I found in Spivack's functorial semantics. What are types in one category, thurn out to be objects in the Figure category.
Ie. one can't as they just write there I think really have a morphism f between two objects as there would be many morphisms f with the same name. The morphism would actually need to be a triple.
Screen-Shot-2020-05-20-at-20.52.40.png
The good news is: after reading the first 50 pages of "Generic Figures and their Glueings" I think I now understand example (viii) p25 of "Sheaves in Geometry and Logic" on . :sweat:
Dan Doel said:
... The way to think about these as related to the above is that they are presheaves on . And the reason for this is that is the free Cartesian category with one object. So, it is like the category of contexts where there is only one type with no structure.
I wonder what you mean by the Free Cartesian Category with one object.
I was under the impression that was the category of Finite Boolean Algebras, reached by taking every object of Set and mapping it to its powerset, and ordering that powerset by set inclusion, constituting thus a boolean algebra. The morphisms between those boolean algebras go of course in the opposite direction to the functions in Set to which they correspond.
A few weeks ago I drew out some diagrams on which I guess would look the same in to get clear about what a (co-)product would look like there. I did not finish the diagram as the powersets explode, as their name suggests. At the time I was trying to get an understand of how was a complement tops so I also drew out a picture of a Pushout diagram for conjunction in the complement topos of Boolean algebras.
Well, for one, is not "the category of Boolean algebras". It is the category of complete, atomic boolean algebras, which are particular kinds of boolean algebras. But that's kind of beside the point.
yes, I was trying to remember that off the top of my head. I missed a few words :-)
But I guess that individual objects in all are CABAs made out of one type which is the Top object of the CABA. So in a sense each individual CABA has only one type.
So, the free Cartesian category generated by an object has objects like , where is the generating object. And maps decompose into maps specifying where each part of the result comes from. However, the only maps of this restricted form are projections out of the -ary Cartesian product. So, each of the maps is just a selection from possible values. And so is like a function where and are finite sets.
The actual (opposite) category of finite sets has redundant objects, because you only need one finite set of each size, but that doesn't matter with respect to equivalence of categories.
The object is the single 'type' that all the variables range over.
And this is the same structure you get for contexts from having just the variable rules in a 'type theory' with a single type. Contexts are just lists of variables with that type, and if you have contexts and , a substitution for using variables in is just a -sized list of the variables from , which is equivalent to saying which position in each position of maps to.
Btw. I'd be very interested in your view as to where Scala 3 (Dotty) fits into this. They have a type hierarchy described here.
Class Diagram of Dotty
There is this 2016 PhD thesis that explains Dependent Object Types, it's relation to and more.... I think if I could find a good way to tie the maths to that, I'd learn much faster.
I think the way people are starting to study type theory categorically, subtyping does not exist at the most fundamental level. Every term has a single particular type. Subtyping is a convenience that elaborates a 'surface syntax' into the more fundamental theory by inserting mediating maps between subtype and supertype.
yes, but I guess there is some CT gadget that brings that concept under one term, so that it can be studied.
The other things is that DOT comes with dependent types. So it has both Dependent Types and a type hierarchy.
I wonder if one can read off their one page description what category that corresponds to.
There is this very nice article by Bart Jacobs on inheritance viewed coalgebraically Inheritance and cofree constructions
Inheritance in coalgebraic specification (of classes) will be understood dually to parametrization in algebraic specification. That is, inheritance involves restriction (specialization), where parametrization involves extension
Well, I don't recall if I've read it, but from the abstract, it is probably more in the vein of what I said than the traditional subtyping-as-fundamental approach. It is an algebraic/structural presentation of concepts that are often treated with a "material" approach.
I.E. there is no notion of types that 'are actually' subtypes of the cofree coalgebra in that they are subcollections of its values, vs. merely having a monomorphism into the cofree coalgebra. Algebraicly this distinction makes no sense, but traditional notions of subtyping have it. Same with traditional set theory. Some sets 'actually are' subsets of a given set, while others are merely isomorphic to, but not actually, subsets. But from an algebraic perspective this doesn't matter.
I suppose a way to look at this is that the algebraic view is looking at the essential structure involved. "What structural relationship do subclasses have with respect to superclasses." But type theories that involve subtyping directly have inessential details involved, like how particular things are implemented, or whether one can algorithmically recognize particular cases of the structure (because that is probably an undecidable problem in general).
So who wants to talk about the Mitchell-Benabou language tomorrow?
I suppose it's good to just talk here anyway, for everyone to share.
Tomorrow I'll be working through some examples, and we can talk about internal logic or anything else.
Those who have been coding up some of the proofs -- are they publicly available? It might be helpful to see them.
I'm game! I haven't been coding up any proofs, sadly. Though I once did define the CCC structure on presheaves... maybe I should dig that up.
What time should we all meet?
Today I want to just talk on the server, at the usual time (about two hours from now). But if you get more people, feel free to meet.
So I'm looking at VI.5 and VI.6, The Mitchell-Benabou Language and Kripke-Joyal Semantics. I'm hoping to get a feel for how expressions in the language can be translated into constructions in any topos.
An example formula is that of the "object of epimorphisms"
.
This a subobject of , of course, and we can show that its "elements" satisfy the universal property of epimorphism; and moreover they claim that this allows for important logical statements to be internalized to a topos, such as the axiom of choice (this can be expressed as "exponentiation preserves epis").
Ok silly question: how is "exponentiation preserves epis" the axiom of choice?
Good question. I've always thought of the axiom of choice as "every epi has a section".
Sure, and I even understand how one might prove that from a couple other formulations
but I can't quite get from exponentiation preserves epis to that
So, why should this one be equivalent... What does it mean to say exponentiation preserves epis? They write out the long formula below the claim, but it can be written more simply with .
Even in I'm not sure I get it
First guess, .
ok...
If you have a function into the set of surjections , does that give you a surjection ?
That's what it means?
In my mind, the "real" axiom of choice, is
I don't know, that's why I said "first guess".
for any proposition
I'd kind of like that to be the induced function in ...
What do you mean?
Christian Williams said:
If you have a function into the set of surjections , does that give you a surjection ?
Not if is empty and is nonempty.
Christian Williams said:
If you have a function into the set of surjections , does that give you a surjection ?
Yes, defined ; this will be a surjection because each is. But it seems like you can't go back the other way -- if you have a surjection and you curry it, that doesn't mean that every will be a surjection.
Oh, yes. I always forget about that case.
Heh, you just proved it's true and I just proved it's false.
Not sure what I mean, but basically you have an epi you want to build an epi , so take a function we need to somehow find a function . I'm wondering if that existential will do it.
Ah okay, yes that makes more sense. You're saying .
I'm pretty sure "exponentiation preserves epis" (at least in Set) means "if is epi then is epi", particularly as this is indeed equivalent to the axiom of choice.
@Cody Roux Consider truncation . That's an epi. Then preservation says that forall there is an that factors through.
I think.
@Reid Barton I'm just asking for an argument of this. I do see the implication "epis are split" "exponentiation preserves epis", but the other direction is not forthcoming.
Take to be the identity of .
So in , given we can construct by defining . That's surely the isomorphism.
Oooh. That's why I'm not a category theorist. I always forget to apply to the identity.
Ok now that's out of the way: what does in the M-B language mean externally?
I think we should re-translate this into a question of the form: "what does mean externally?"
Yeah, so the part in the text that seems to be doing all the good work is Theorem 1 from Kripke-Joyal Semantics, its proof. Have you used this syntax before? It's all pretty new to me.
Sure! It's standard from realizability theory, one of the few things I understand a little bit. Also in Kripke semantics.
Basically intuitively it means either "True with evidence " or "True in the world " depending on which framework you're in.
When I read about it, I remember @David Spivak saying in a talk that he didn't think the internal language was that exciting until he learned about Kripke-Joyal semantics. I can see that it's really convenient and expressive, basically packaging up the reasoning you'd want to do with MB.
The second interpretation is probably a bit more relevant here, though the realizability view is still close at hand.
Yeah, that's a good perspective.
So then being true in the M-B semantics means if I'm not incorrect.
Which implies for all of course.
Yeah, that's right. So, we're trying to interpret .
Ok, there's a subtle point here, since the interpretation of involves some epi.
Yeah, so unpacking it using Theorem 1, we can see that each part of the formula contains a lot of information.
So. iff for all and , , again if I'm not mistaken.
Technically I guess .
Since is a free variable here.
Yep, looks right. But... looking at this unpacking now, I'm thinking that this doesn't really give the categorical construction; it just tells you the niceness of the interpretation of this "forcing". What do you think?
I mean. Eventually it's going to give you a categorical notion of being a surjection...
some condition involving ...
We just haven't unpacked all the es yet
Okay keep going, I'm following.
Right now, we have " is an internal surjection iff
Ah, I see that if we're thinking about "global" properties like "being an epimorphism", then , so a lot of these unpackings will simplify.
Ok. Next step, we get rid of the . This requires a given epi and a generalized object such that .
Sheesh, hard to get that right.
Then equality in the M-B language is just equality "from the outside".
So, simplifying due to , we should be able to assume that (I think?)
To summarize: an arrow is an internal epi if
Ok wait for a minute. I'm not actually sure we can set . Let's do the full version first.
Yeah, I think you can still have a complex .
I was gonna let you write it first and then see how it looked.
Part of the theorem gives an easier version of unpacking that they use.
They aren't letting because they want to consider the general case of being epi; but it seems like you could just do a without-loss-of-generality argument.
To summarize: is an internal epi if for every , there is some epi and a such that . Did I get that right?
I think so.
It's funny that we just end up using the set-theoretic notion of epi.
That doesn't seem so bad. It's also not quite enough to get you a section, obviously.
Is it enough to be an epi?
Yes, I think again you let .
Not sure I see that.
I'd be more tempted to take an equalizer...
Of what?
let some be such that we need to find some and that "witness" this distinction.
You're checking epimorphism by contrapositive?
I mean... yea?
My brain is a little funny that way
But keep it quiet or I'll get thrown out of the constructivist club
I hate to tell you, we're in public.
Ok. Take the "anti-equalizer" to be
I'll leave the construction as exercise
Christian Williams said:
I hate to tell you, we're in public.
What happens in quarantine stays in quarantine.
By the way if anyone has been trying to follow along, you should probably just read VI.6; this example is explained well.
I'm still following.
Oh yea. Why have I been bothering? I can't believe I skipped that part.
Anyways, my only point was that now you know that there exists a and two morphisms that make the whole shebang commute.
Wow, I thought you just wanted to do it for yourself.
I rarely do.
And because the upstairs morphism is an epi, , I think.
But I think the whole exciting thing for me is that I already know how to reason internally in this logic. And there's interactive tools to help you do it. No such luck in category theory.
It's also easy for me to have intuition of the form: "I can never prove this, because I'd have to pull an out of thin air..." which somehow makes it easy to see if something isn't true in general in sheaves.
Sometimes.
The big difficulty for me is to understand where these epimorphisms come from in the definitions of and . They are crucial, since they contain a lot of the intuitionistic content, but their appearance refers to some technical lemmas from chapter IV, which I have little intuition about...
Cody Roux said:
But I think the whole exciting thing for me is that I already know how to reason internally in this logic. And there's interactive tools to help you do it. No such luck in category theory.
What tools do you have in mind? We'll make them categorical soon enough.
I mean, Coq, basically.
If it were a tiny bit more extensional, it would basically be the internal language of Toposes (with universes and NNOs)
Cody Roux said:
The big difficulty for me is to understand where these epimorphisms come from in the definitions of and . They are crucial, since they contain a lot of the intuitionistic content, but their appearance refers to some technical lemmas from chapter IV, which I have little intuition about...
Yeah, I think those are ultimately about epi-mono factorization (necessary to take joins of subobjects, and for tons of other things), and the fact that pullbacks preserve coproducts (extensive).
Cody Roux said:
If it were a tiny bit more extensional, it would basically be the internal language of Toposes (with universes and NNOs)
How much do you really mean this to be true? It should be the internal language of a specific topos, right?
Christian Williams said:
Cody Roux said:
If it were a tiny bit more extensional, it would basically be the internal language of Toposes (with universes and NNOs)
How much do you really mean this to be true? It should be the internal language of a specific topos, right?
There's some finicky technical details, so I won't stick my head out, but if you add functional extensionality, make equality extensional, and remove the universes, I wouldn't be surprised if the free theory of toposes with NNOs isn't bi-interpretable into Coq.
If you ended up not completely following this group and are still interested in reading the book, we are starting another reading group here.