Zulip Chat Archive
Stream: Lean Together 2026
Topic: Sophie Morel - Nori's construction in Lean
Rémy Degenne (Jan 21 2026 at 17:33):
Discussion topic for the talk.
Kevin Buzzard (Jan 21 2026 at 18:17):
Wait a minute. I am looking through the files in Mathlib/Combinatorics/Quiver/ and out of all the ones I've looked at so far, every single one starts with something like
variable {U : Type _} [Quiver.{u + 1} U] {V : Type _} [Quiver.{v + 1} V] (φ : U ⥤q V) {W : Type _}
[Quiver.{w + 1} W] (ψ : V ⥤q W)
Why do we not just refactor Quiver so that the arrows are type-valued? What is the counter-argument? It looks like the authors of the quiver files are already thinking this.
Joël Riou (Jan 21 2026 at 18:19):
Yes, I agree. The mathematical reason to allow Prop for morphisms in a quiver is to force that there is at most one morphism from X to Y, but we could introduce a typeclass saying exactly that (oh, it already exists: this is Quiver.IsThin).
Kevin Buzzard (Jan 21 2026 at 18:20):
Even Path.lean , which does allow Sort-valued quivers, has inductive Path {V : Type u} [Quiver.{v} V] (a : V) : V → Sort max (u + 1) v and that target Sort can never be Prop (because the max of u+1 and v can't be 0) but I suspect that this is the sort of thing which Lean would be very bad at knowing.
Kevin Buzzard (Jan 21 2026 at 18:20):
Joël Riou said:
(oh, it already exists: this is
Quiver.IsThin).
Even better!
Kevin Buzzard (Jan 21 2026 at 18:24):
Ha ha ha, in the docstring of Quiver it says "For graphs with no repeated edges, one can use Quiver.{0} V, which ensures
a ⟶ b : Prop. " but if you search Mathlib for Quiver.{0} there are only two occurrences and they're both in docstrings :-) And even funnier, the second occurrence is in a Digraph file and it basically says "We could have used Quiver.{0} but actually this doesn't work because Quiver is a class and we don't want this, so we make Digraph V which is just copying the definition of Quiver.{0}.
So in fact we already have Digraph V for anyone who wants Quiver.{0}
Kevin Buzzard (Jan 21 2026 at 18:45):
(I'm trying the refactor)
Sophie Morel (Jan 22 2026 at 19:18):
Then we can talk about NatTrans. :grinning_face_with_smiling_eyes:
Antoine Chambert-Loir (Jan 23 2026 at 13:26):
Do you have slides that you can share?
Sophie Morel (Jan 23 2026 at 14:07):
expose.pdf
Here. (I did fix a couple of mistakes. One of my arrows was going in the wrong direction. :scream: )
Patrick Massot (Jan 23 2026 at 14:38):
You should not call this a mistake, call it duality.
Joël Riou (Jan 26 2026 at 12:23):
One of the missing ingredients in Sophie's talk, the fact that the localization of an abelian category with respect to a Serre class is also abelian, is in the draft PR #34444.
Last updated: Feb 28 2026 at 14:05 UTC