Category Theory
Zulip Server
Archive

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.


Stream: learning: reading & references

Topic: A Rosetta Stone


view this post on Zulip Jake Gillberg (Apr 18 2020 at 20:02):

A couple of friends (of mostly programming and some maths background) are planning to read "Physics, Topology, Logic and Computation:A Rosetta Stone" and do some poking in Idris to guide our understanding. We plan to look over these overview slides / notes (http://math.ucr.edu/~mike/rosettaslides.pdf), (http://math.ucr.edu/~mike/rosetta%20slides.txt), read through section 2.4 of the paper, and meet next Saturday at 1:00 (GMT -4) to discuss

view this post on Zulip Jake Gillberg (Apr 18 2020 at 20:04):

please chime in if you are interested in joining!

view this post on Zulip T Murrills (Apr 18 2020 at 20:08):

Looks interesting! Count me in! :)

view this post on Zulip John Baez (Apr 18 2020 at 22:09):

Great! I'd be happy to answer any questions here.

view this post on Zulip Naso (Apr 20 2020 at 12:59):

I'm also keen. Is that 1:00 AM or PM GMT-4? I'm GMT+10.

view this post on Zulip Luc Chabassier (Apr 20 2020 at 16:43):

Sounds interesting, I'd gladly join ! As Nasos I am a bit confused about the meeting time, could you give the UTC meeting time ? Thanks !

view this post on Zulip Christian Williams (Apr 20 2020 at 17:36):

Great! I'm sure @Mike Stay would be happy to talk about it here as well.

view this post on Zulip Reid Barton (Apr 20 2020 at 17:39):

I would assume that someone giving a time in GMT -4 lives in that time zone and is not scheduling an event for 1 AM local time.

view this post on Zulip Jake Gillberg (Apr 20 2020 at 18:49):

Great! Yes, I meant 1PM (GMT -4) or 17 UTC. We can try to shuffle the time around to make it better for all who want to attend. Here is a survey to see when folks may be available: https://xoyondo.com/dp/9goetOGA6VSwF7q . In the upper left corner, you can change the times to your timezone.

view this post on Zulip Mike Stay (Apr 20 2020 at 21:34):

Christian Williams said:

Great! I'm sure Mike Stay would be happy to talk about it here as well.

Yep!

view this post on Zulip Jake Gillberg (Apr 23 2020 at 23:32):

Looks like the original time of 17UTC this Saturday remains the crowd favorite. Hope to see you all there!

Reminder that the goal is to look over these slides & corresponding notes, and read up to section 2.5: Symmetric Monoidal Categories in the paper prior to our meeting.

view this post on Zulip T Murrills (Apr 25 2020 at 15:04):

(Today’s my SO’s birthday, so I’m afraid I won’t be there today, but I’ll definitely be there next time! :) )

view this post on Zulip sarahzrf (Apr 25 2020 at 15:15):

seems kinda weird to celebrate your stackoverflow account's birthday but programmers will be programmers i guess

view this post on Zulip Cody Roux (Apr 25 2020 at 15:46):

Bringing that twitter energy to Zulip I see :)

view this post on Zulip Eduardo Ochs (Apr 25 2020 at 15:52):

GMT -4 is this, right?
https://www.timeanddate.com/worldclock/uk/greenwich-city
I missed it, but I'll try to be present the next time...

view this post on Zulip Reid Barton (Apr 25 2020 at 15:55):

No, that's just GMT, except when it isn't, such as now.
The start time is ~1 hour from now.

view this post on Zulip Jake Gillberg (Apr 25 2020 at 15:58):

I solemnly swear to solely use UTC time in the future. The start time is indeed ~1hr from now

view this post on Zulip Eduardo Ochs (Apr 25 2020 at 16:09):

Great! I'll be there!

view this post on Zulip Jake Gillberg (Apr 25 2020 at 16:56):

https://us02web.zoom.us/j/6853551826

view this post on Zulip Luc Chabassier (Apr 25 2020 at 21:50):

Thanks everyone. Can you post the links for the idris library here ?

view this post on Zulip Jake Gillberg (Apr 25 2020 at 23:22):

Library that we are working with: https://github.com/statebox/idris-ct/

view this post on Zulip Jake Gillberg (Apr 25 2020 at 23:23):

My messy hackings towards Idris as a Cartesian category: https://gitlab.com/jake.gillberg/programmingcats/-/blob/master/src/ProgrammingCats/MonoidalCategory/CartesianCategory.idr

view this post on Zulip Jake Gillberg (Apr 28 2020 at 00:29):

A WIP pull request implementing Cartesian Monoidal Categories: https://github.com/statebox/idris-ct/pull/81

view this post on Zulip Fabrizio Genovese (Apr 28 2020 at 00:32):

Jake Gillberg said:

A WIP pull request implementing Cartesian Monoidal Categories: https://github.com/statebox/idris-ct/pull/81

Cheers! We'll take a look asap!

view this post on Zulip Jake Gillberg (Apr 28 2020 at 00:34):

Still in progress! and @marcosh has been awesome at prompt replies / merging of completed work. I'm currently butting my head against the long / ?infinite? compile times of Monoidal Categories.

view this post on Zulip Fabrizio Genovese (Apr 28 2020 at 00:35):

Yes, so we know for sure that symmetric monoidal categories do not compile

view this post on Zulip Fabrizio Genovese (Apr 28 2020 at 00:35):

There's an open issue about that. Non symmetric ones work but compiling takes ages

view this post on Zulip Jake Gillberg (Apr 28 2020 at 00:36):

Do you know if the issue with symmetric monoidal categories would also be an issue with cartesian ones?

view this post on Zulip Fabrizio Genovese (Apr 28 2020 at 00:36):

Anyway we worked hard in the past to prove this, also together with @Andre Knispel . This is the main reason why we formalized products, terminal objects etc. We figured that proving that idris types and functions had products and terminal objects and use this to get a monoidal structure was better/nicer than doing it directly, but then we stopped

view this post on Zulip Fabrizio Genovese (Apr 28 2020 at 00:37):

Jake Gillberg said:

Do you know if the issue with symmetric monoidal categories would also be an issue with cartesian ones?

I really don't know. This bug is rather mysterious and if I recall correctly we weren't able to spot what made compiling fail when introducing symmetries. We are very much sure it's an Idris bug but it was very difficult to produce a minimal example

view this post on Zulip Jake Gillberg (Apr 28 2020 at 00:37):

Cool, yeah, I saw a bit of discussion on that and tried to pick up the work

view this post on Zulip Fabrizio Genovese (Apr 28 2020 at 00:38):

There are related open issues also on the idris repo

view this post on Zulip Jake Gillberg (Apr 28 2020 at 00:40):

Any attempts to get symmetric monoidal categories to compile in idris2?

view this post on Zulip Jake Gillberg (Apr 28 2020 at 00:44):

Ah, I see that at least as of late July there were some issues: https://github.com/statebox/idris-ct/issues/6#issuecomment-515981734

"Adding unitCoherence to MonoidalCategory.SymmetricMonoidalCategory causes the compiler to crash with Segmentation fault (core dumped)."

view this post on Zulip Christian Williams (Apr 28 2020 at 04:37):

I'm currently building idris-ct. Is it normal for it to take more than 5 or 10 minutes? Never built with Nix before.

view this post on Zulip Christian Williams (Apr 28 2020 at 04:46):

Okay, I assumed that the nix-build command would build the files in the current directory, so I didn't pass it an argument. It seems like it's just building tons of stuff... ah wait, it finally got to idris-ct. Lots of requirements, I guess.

view this post on Zulip Christian Williams (Apr 28 2020 at 05:02):

Type checking ./Discrete/DiscreteFunctor.lidr
Type checking ./Unit/UnitCategory.lidr
Type checking ./Comma/OverCategory.lidr
Type checking ./Comma/UnderCategory.lidr
Type checking ./Monad/Monad.lidr
/nix/store/7whxa62xjyfylxhww5w9ppjpsl4x9rim-stdenv-linux/setup: line 1332: 680 Killed idris --build idris-ct.ipkg
builder for '/nix/store/k4kyl0ncbx39gq88rvb7bfdnc15a0jpv-idris-idris-ct-dev.drv' failed with exit code 137
error: build of '/nix/store/gsks1avjndm1hidlqgpf18ajx059r0zf-idris-ct-doc-dev.drv', '/nix/store/k4kyl0ncbx39gq88rvb7bfdnc15a0jpv-idris-idris-ct-dev.drv' failed

So close. I'll try again tomorrow. (If anyone has advice let me know.)

view this post on Zulip sarahzrf (Apr 28 2020 at 05:46):

welcome to nix

view this post on Zulip sarahzrf (Apr 28 2020 at 05:46):

enjoy the deep end

view this post on Zulip Fabrizio Genovese (Apr 28 2020 at 09:55):

Christian Williams said:

I'm currently building idris-ct. Is it normal for it to take more than 5 or 10 minutes? Never built with Nix before.

If you want to build _everything_ it will probably take a couple of hours!

view this post on Zulip croy (May 01 2020 at 08:33):

Jake Gillberg said:

A couple of friends (of mostly programming and some maths background) are planning to read "Physics, Topology, Logic and Computation:A Rosetta Stone" and do some poking in Idris to guide our understanding. We plan to look over these overview slides / notes (http://math.ucr.edu/~mike/rosettaslides.pdf), (http://math.ucr.edu/~mike/rosetta%20slides.txt), read through section 2.4 of the paper, and meet next Saturday at 1:00 (GMT -4) to discuss

This group sounds cool! Is it on again tomorrow? What's been covered so far?

view this post on Zulip Jake Gillberg (May 01 2020 at 12:07):

@croy Yup! We are on for tomorrow at 17 UTC. We plan to start with a 30 min intro to Idris then discuss section 2.6 (closed categories). Last week we took a look at the statebox idris-ct library, and have made a bit of headway implementing cartesian categories.

view this post on Zulip Fabrizio Genovese (May 01 2020 at 12:09):

I may try to join if you want, I'm familiar with idris-ct more or less

view this post on Zulip Fabrizio Genovese (May 01 2020 at 12:09):

I could also spread the word in our internal chat, so that you can have some of our devs around if you need help with idris-ct :slight_smile:

view this post on Zulip Fabrizio Genovese (May 01 2020 at 12:10):

Would that be useful?

view this post on Zulip Jake Gillberg (May 01 2020 at 12:12):

Sure! If there is interest! I'd also be quite happy with some interaction through comments on the pull request

view this post on Zulip a13ph (May 01 2020 at 12:15):

@Jake Gillberg Would joining just to listen-in be okay? I'm playing catch-up :slight_smile:

view this post on Zulip Jake Gillberg (May 01 2020 at 12:16):

Yeah, not a problem! Happy to discuss previous material as well

view this post on Zulip a13ph (May 01 2020 at 12:21):

@Jake Gillberg Thanks. :blush: Wanted to make sure, since some groups are discouraging that, I think.
Regarding previous material - if I'll think I can ask a coherent question. I'll definitely try, but probably not in the first few sessions. Being on this Zulip is already a lesson in humility :joy:

view this post on Zulip Fabrizio Genovese (May 01 2020 at 12:26):

Jake Gillberg said:

Sure! If there is interest! I'd also be quite happy with some interaction through comments on the pull request

Cool! So there's a link or something?

view this post on Zulip Jake Gillberg (May 01 2020 at 12:26):

Fabrizio Genovese said:

Jake Gillberg said:

Sure! If there is interest! I'd also be quite happy with some interaction through comments on the pull request

Cool! So there's a link or something?

https://github.com/statebox/idris-ct/pull/81 . I've highlighted the point at which I am struggling in the comments

view this post on Zulip Jake Gillberg (May 01 2020 at 12:28):

a13ph said:

Jake Gillberg Thanks. :blush: Wanted to make sure, since some groups are discouraging that, I think.
Regarding previous material - if I'll think I can ask a coherent question. I'll definitely try, but probably not in the first few sessions. Being on this Zulip is already a lesson in humility :joy:

Agreed! I won't speak for everyone in the group, but I'd definitely call myself a beginner. Feel free to bring those incoherent questions, maybe we can turn them into coherent ones together :)

view this post on Zulip Fabrizio Genovese (May 01 2020 at 12:30):

Jake Gillberg said:

Fabrizio Genovese said:

Jake Gillberg said:

Sure! If there is interest! I'd also be quite happy with some interaction through comments on the pull request

Cool! So there's a link or something?

https://github.com/statebox/idris-ct/pull/81 . I've highlighted the point at which I am struggling in the comments

I mean, is there a link to the group chat/call?

view this post on Zulip Fabrizio Genovese (May 01 2020 at 12:31):

If I have to spread the word to our Devs in case they wanna chime in I got to tell them where they have to chime in xD

view this post on Zulip Jake Gillberg (May 01 2020 at 12:33):

... link to the group chat/call

ah, sure! https://zoom.us/j/6853551826 Sat: 17 UTC (starting with 30 min basic Idris intro, then moving on to closed categories and idris-ct

view this post on Zulip Jake Gillberg (May 02 2020 at 16:38):

A couple of us are in the room now! https://zoom.us/j/6853551826

view this post on Zulip Fabrizio Genovese (May 02 2020 at 16:52):

Cool!

view this post on Zulip a13ph (May 02 2020 at 18:10):

Thanks to whomever gave the Mac Lane suggestion. I've been putting it off, fearing it would be too theoretical with not enough examples. Now that I know it's rich in examples, which I don't need to know all, but only some... Well, that's exactly what I need to grok much of intro CT, I think.

view this post on Zulip Fabrizio Genovese (May 03 2020 at 14:47):

I did! Yes people keep saying that MacLane is not good to learn and I found that to be the most limiting suggestion of my career.

view this post on Zulip Todd Trimble (May 03 2020 at 15:49):

Hear hear.

view this post on Zulip Fabrizio Genovese (May 03 2020 at 17:12):

Another important advice: Do not focus too much on MacLane's exercises. They are _notoriously_ difficult. Like, legend is that some of them were open problems when the book came out. So you shouldn't try too hard to solve them, or getting frustrated if you can't. They are not meant to be friendly :D

view this post on Zulip Ohad Kammar (May 04 2020 at 11:59):

Fabrizio Genovese said:

Another important advice: Do not focus too much on MacLane's exercises. They are _notoriously_ difficult. Like, legend is that some of them were open problems when the book came out.

Do you know which ones?
I've been working my way through them and: 1) half the material is in them, and 2) they are great.

I do remember on exercise I got really stuck on, asking to come up with a counter example in presheaf categories, but I put it aside for a few years, and when I picked it up again it was immediate (taking the empty category as a counter-example)

view this post on Zulip Todd Trimble (May 04 2020 at 12:27):

I'd be interested to know myself; I don't know of any that could be considered open questions at the time of writing the first edition, not even close. However, I do remember one that made me throw up my hands when I first saw it (when I was pretty young)... well, it was from the first edition and I can't find either edition in my home library at the moment, but it had to do with all bracketings of monoidal products of n+2n+2 indeterminates and associativities between them as forming a subdivision of the nn-sphere. By now enough people know about associahedra that this problem might not seem so difficult anymore (and maybe his formulation was a bit imprecise), but at the time I first read it, it just seemed impossible.

view this post on Zulip Fabrizio Genovese (May 04 2020 at 16:53):

Well, I said "legend is that" because this is something that someone (don't remember who) told me during my PhD. I have no way to substantiate this claim. In any case, MacLane exercises are harder compared with other CT books, I thought this was something worth pointing out :slight_smile:

view this post on Zulip Jake Gillberg (May 04 2020 at 19:41):

Concerning the associator in a monoidal category, what are the source and target categories of the functors that make up the natural isomorphism? I'm still a bit tripped up by this after more thought

view this post on Zulip Nathanael Arkor (May 04 2020 at 19:48):

There's some choice. If you're happy using an unbiased cartesian product of categories, then you can take functors C3C\mathbb C^3 \to \mathbb C mapping (X,Y,Z)(XY)Z(X, Y, Z) \mapsto (X \otimes Y) \otimes Z and (X,Y,Z)X(YZ)(X, Y, Z) \mapsto X \otimes (Y \otimes Z).

view this post on Zulip Nathanael Arkor (May 04 2020 at 19:49):

If you want to use a binary cartesian product, then you need to reassociate in Cat\mathbf{Cat} using the pairing maps.

view this post on Zulip John Baez (May 04 2020 at 19:52):

Here C\mathbb{C} is your monoidal category, not the complex numbers. This should be obvious, but I never ever use C\mathbb{C} for anything except the complex numbers, so I momentarily thought Nathanael had gone mad. :upside_down:

view this post on Zulip Jake Gillberg (May 04 2020 at 19:58):

Ah great, unbiased cartesian product of categories looks like the definition given in nlab. I had only seen the binary version before. What does "reassociate in Cat" mean? The functors are endofunctors in cat?

view this post on Zulip Nathanael Arkor (May 04 2020 at 20:03):

You can define the functors instead (C×C)×CC(\mathbb C \times \mathbb C) \times \mathbb C \to \mathbb C, where one is given by (×Id)\otimes \circ (\otimes \times \mathrm{Id}), and the other by (Id×)αC\otimes \circ (\mathrm{Id} \times \otimes) \circ \alpha_{\mathbb C}, where αC:(C×C)×CC×(C×C)\alpha_{\mathbb C} : (\mathbb C \times \mathbb C) \times \mathbb C \to \mathbb C \times (\mathbb C \times \mathbb C) is given by re-pairing, using the universal property of the cartesian product.

view this post on Zulip Nathanael Arkor (May 04 2020 at 20:06):

(Here, α\alpha is the associator in the cartesian-monoidal category Cat\mathbf{Cat}.)

view this post on Zulip Jake Gillberg (May 04 2020 at 20:12):

\circ being functor composition? αC\alpha_{\mathbb C} is the associator? Doesn't that put us right back where we started?

view this post on Zulip Nathanael Arkor (May 04 2020 at 20:14):

Yes, \circ is functor composition. α\alpha is an associator in Cat\mathbf{Cat}, but you don't need to know that to define a monoidal category. You're trying to define the associator in C\mathbb C.

view this post on Zulip Nathanael Arkor (May 04 2020 at 20:14):

After you've defined a monoidal category, you can show that α\alpha happens to be the associator in a large monoidal category, but that's not necessary to define it in the first place.

view this post on Zulip Jake Gillberg (May 04 2020 at 20:19):

Ah, thanks! This helps a lot! I was misreading Cat\mathbf{Cat} as a synonym for C\mathbb C instead of the product of Categories and Functors. (the name for C\mathbb C in the idris-ct library that I am looking at is cat)

view this post on Zulip Nathanael Arkor (May 04 2020 at 20:21):

Sorry, I should have been clear about that. C\mathbb C is any small category here.

view this post on Zulip John Baez (May 05 2020 at 05:38):

This is an example of the "microcosm principle". We need the product in Cat\mathbf{Cat} to write down the tensor product in a monoidal category C\mathsf{C}:

:C×CC\otimes : \mathsf{C} \times \mathsf{C} \to \mathsf{C}

and similarly we need the associator in Cat\mathbf{Cat} to write down the associator in C\mathsf{C}.

It keeps on going like this: if C\mathsf{C} is symmetric, we need the symmetry in Cat\mathbf{Cat} to write down the symmetry in C\mathsf{C}, and so on. "Little things like to live in similar-shaped big things."

view this post on Zulip Jake Gillberg (May 06 2020 at 11:48):

Let's meet at the same time (17 UTC this Saturday) ready to discuss chapter 3

view this post on Zulip Jake Gillberg (May 09 2020 at 16:45):

https://zoom.us/j/6853551826 - I'm hanging out in here now if anyone wants to join, but we will get started in ~15 mins

view this post on Zulip a13ph (May 09 2020 at 18:23):

Various links from chat and today's discussion.
I might annotate how they connect to the topic or came up in discussion later.

We've discussed this Pull Request before recording
https://github.com/statebox/idris-ct/pull/83/files

Comparison of proof assistants
https://en.wikipedia.org/wiki/Proof_assistant#Comparison

Blog post by Dan Connoly about this reading group
https://www.madmode.com/2020/grok-idris-ct.html

Sequent calculus in Idris
https://gitlab.com/jake.gillberg/oplss-2019/-/blob/master/SequentCalculus.idr

Lambda-Calculus and Combinators: An Introduction -
by J. Roger Hindley, Jonathan P. Seldin
https://www.researchgate.net/publication/220688772_Introduction_to_Combinators_and_Lambda-Calculus

Computer science metanotation - given in various talks by Guy Steele
"It’s Time for a New Old Language" - https://www.youtube.com/watch?v=7HKbjYqqPPQ
some old slides - https://groups.csail.mit.edu/mac/users/gjs/6.945/readings/Steele-MIT-April-2017.pdf

view this post on Zulip a13ph (May 16 2020 at 11:41):

@Jake Gillberg are we continuing today? we still have Chapter 4 to go through

view this post on Zulip Jake Gillberg (May 16 2020 at 13:44):

My attention was diverted elsewhere this week, so I propose we take a week off and finish up the discussion next week. Thoughts?

view this post on Zulip a13ph (May 16 2020 at 14:50):

@Jake Gillberg I am personally okay with this, for myself.
For silent others too, seeing how there was no information in advance on whether there will be a session today.

view this post on Zulip a13ph (May 16 2020 at 15:13):

btw, in previous session, we had a discussion on dagger categories vs opposite categories. Here's a topic specifically about that: https://categorytheory.zulipchat.com/#narrow/stream/229199-learning.3A-basic.20questions/topic/Dagger.20categories/

view this post on Zulip croy (May 16 2020 at 15:49):

Chapter 4 for next week sounds good to me

view this post on Zulip croy (May 16 2020 at 15:57):

(and sorry for being one of the silent others)

view this post on Zulip Christian Williams (May 16 2020 at 17:02):

I plan to attend next time.

view this post on Zulip Luc Chabassier (May 28 2020 at 07:52):

Did you meet last saturday ? I couldn't attend... And is there a meeting planned this saturday ? Just checked there are only 4 chapters, so I guess the reading group is finished ^^'