Zulip Chat Archive
Stream: Is there code for X?
Topic: Finite colimits in Action
Christian Merten (Nov 26 2023 at 21:18):
Is there a reason why there are no instances:
import Mathlib
universe u
open CategoryTheory Limits
variable (V : Type (u + 1)) [LargeCategory V] (G : MonCat.{u})
instance [HasFiniteColimits V] : HasFiniteColimits (Action V G) where
out _ _ _ :=
Adjunction.hasColimitsOfShape_of_equivalence (Action.functorCategoryEquivalence _ _).functor
instance [HasFiniteCoproducts V] : HasFiniteCoproducts (Action V G) where
out _ :=
Adjunction.hasColimitsOfShape_of_equivalence (Action.functorCategoryEquivalence _ _).functor
in Mathlib.RepresentationTheory.Action
analogous to docs#Action.instHasFiniteLimitsActionInstCategoryAction ?
Scott Morrison (Nov 27 2023 at 00:38):
No reason except that you haven't done it yet. :-)
Scott Morrison (Nov 27 2023 at 00:39):
(I think I wrote the first cut of that file, and I'm sure I left a lot out. Also --- it is already a rather large file, so if you see any good points to split it that would be lovely too.)
Christian Merten (Nov 27 2023 at 09:00):
I'll split in definitions / generalities and permanence properties. This roughly halves the file, are you happy with that? Should I make a new file Mathlib.RepresentationTheory.ActionPermanence
? Or should I create a new folder Mathilb/RepresentationTheory/Action
and then two files Basic
and Permanence
?
Scott Morrison (Nov 27 2023 at 10:55):
What does "permanence" mean here?
Christian Merten (Nov 27 2023 at 13:12):
Ah, I mean: Specific properties of Action G V
that are induced by specific properties of V
, e.g. if V
has all limits, then Action G V
has all limits, if V
is abelian, then Action G V
is abelian, etc.
Christian Merten (Nov 27 2023 at 13:14):
i.e. properties that are preserved under the replacement V
by Action G V
.
Scott Morrison (Nov 27 2023 at 13:44):
Great, yes. Feel free to split up these properties even further (e.g. monoidal/braided/symmetric/duality stuff somewhere, limits/abelianness elsewhere, etc). I was lazy setting up this file and made it a big bag.
Joël Riou (Nov 27 2023 at 13:53):
I am wondering whether we could generalize Action V G
to allow arbitrary universe parameters for the category V
? (This would require changing Action.ρ
using MonoidHom
directly, and maybe unbundling G : MonCat
to a type G
equipped with [Monoid G
].) In the future, I might want to develop a bit the notion of symmetric objects (presheaves over the category of nonemtpy finite sets), and in that context, a more general Action
would be useful.
Julian Külshammer (Nov 27 2023 at 13:54):
To me Preservation sounds more standard terminology than Permanence?
Joël Riou (Nov 27 2023 at 16:20):
"Permanence" is probably a Frenchism: this is found for example in the Elements of Algebraic Geometry by Grothendieck and Dieudonné.
Christian Merten (Nov 27 2023 at 16:27):
Joël Riou said:
I am wondering whether we could generalize
Action V G
to allow arbitrary universe parameters for the categoryV
? (This would require changingAction.ρ
usingMonoidHom
directly, and maybe unbundlingG : MonCat
to a typeG
equipped with[Monoid G
].) In the future, I might want to develop a bit the notion of symmetric objects (presheaves over the category of nonemtpy finite sets), and in that context, a more generalAction
would be useful.
Let's do the split first to get this out of the way and then think about extending the notion? I need Action
for V = FintypeCat
which is not a LargeCategory
either, although Lean does not seem to care.
Related: Maybe we can extend this in such a way such that restricting to the category of continuous G
-sets (for a topological group G
), i.e. where the action additionally satisfies G × A → A
continuous when A
is equipped with the discrete topology (or maybe not necessarily discrete, but some topology), is natural?
Christian Merten (Nov 27 2023 at 17:00):
Kevin Buzzard (Nov 27 2023 at 17:15):
Just to say that I am actively interested in the case where G has a topology and A has the discrete topology and the action is continuous.
Adam Topaz (Nov 27 2023 at 17:19):
mumble mumble mumble internal group object mumble mumble mumble
Adam Topaz (Nov 27 2023 at 17:20):
@Qi Ge you might find this thread interesting as well.
Christian Merten (Nov 27 2023 at 17:20):
@Amelia Livingston offered in https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F/topic/Galois.20categories that she could port her definition from Lean3.
Christian Merten (Nov 27 2023 at 17:23):
Adam Topaz said:
mumble mumble mumble internal group object mumble mumble mumble
How is the category of representations a category of internal group objects? Or did I misunderstand?
Adam Topaz (Nov 27 2023 at 17:25):
See docs#Mod_ for example
Adam Topaz (Nov 27 2023 at 17:26):
if you use this in the case of the category of topological spaces with the Cartesian monoidal structure, then this would become the category of topological spaces with a continuous action of a topological monoid
Adam Topaz (Nov 27 2023 at 17:27):
Where you would use a term of docs#Mon_ to represent the topological monoid.
Christian Merten (Nov 27 2023 at 17:29):
But it needs a monoidal structure on C
, so it can't be a replacement of Action G V
, right?
Adam Topaz (Nov 27 2023 at 17:30):
If you use the cartesian monoidal structure, then I think it could be? How is docs#Action defined?
Adam Topaz (Nov 27 2023 at 17:30):
Ah you're right it won't be as general.
Adam Topaz (Nov 27 2023 at 17:31):
But in order to state something like "the action is continuous" you at least need products to even write down a map .
Christian Merten (Nov 27 2023 at 17:31):
As elements of a type V
with a monoid homomorphism from G
to the endomorphisms of each object.
Adam Topaz (Nov 27 2023 at 17:32):
The two should be equivalent in the case where the category is cartesian closed
Christian Merten (Nov 27 2023 at 17:32):
Adam Topaz said:
But in order to state something like "the action is continuous" you at least need products to even write down a map .
Yes, my use case (which is still the one of V = FintypeCat
and G
the automorphism group of a fibre functor) would fit in the docs#Mod_ setting.
Christian Merten (Nov 27 2023 at 17:35):
Although I am hesitant to formulate this in terms of Mod_
as I fear that the API is still a bit lacking. It would be convenient to have one structure that naturally fits the general use case of Action G V
and of these more specialized situations. Then I would be willing to invest in adding API for that.
Yaël Dillies (Nov 27 2023 at 18:30):
Christian Merten said:
As elements of a type
V
with a monoid homomorphism fromG
to the endomorphisms of each object.
This approach doesn't work for continuous actions since the category of topological spaces is not cartesian-closed.
Qi Ge (Nov 27 2023 at 19:00):
Adam Topaz said:
But in order to state something like "the action is continuous" you at least need products to even write down a map .
One definition for the type class of continuous group action would be the type such a map :smile:. But I don't think it is the right thing to do in Lean as it does not extend MulAction
for example... So maybe it should be something like this:
import Mathlib.Topology.Basic
import Mathlib.Topology.Algebra.MulAction
class ContinuousMulAction (M S : Type*) [Monoid M] [TopologicalSpace M] [TopologicalSpace S] extends MulAction M S, ContinuousSMul M S where
(Is there a diamond happening here? I'm still not entirely clear on how lean deals with inheritance and I'm not through reading about old_structure_cmd
from earlier...)
Adam Topaz (Nov 27 2023 at 19:01):
I think we have docs#ContinuousMulAction
Adam Topaz (Nov 27 2023 at 19:02):
Oh sorry it is just ContinuousSmul
Qi Ge (Nov 27 2023 at 19:02):
Yeah we still need MulAction
for group action
Adam Topaz (Nov 27 2023 at 19:02):
There’s no need to introduce a new class, just use ContinuousSmul as a “mixin”
Adam Topaz (Nov 27 2023 at 19:03):
Same for docs#ContinuousMul
Qi Ge (Nov 27 2023 at 19:07):
Adam Topaz said:
There’s no need to introduce a new class, just use ContinuousSmul as a “mixin”
What does it mean for a "mixin"?
Adam Topaz (Nov 27 2023 at 19:26):
a mixin is a class that gets introduced in an ad-hoc way. For example, if you want to prove a lemma about a topological space with a continuous action of a topological monoid you could formulate it as (untested):
lemma foobbar (M X : Type*) [TopologicalSpace M] [TopologicalSpace X] [Monoid M] [ContinunousMul M] [MulAction M X] [ContinuousSMul M X] ...`
Adam Topaz (Nov 27 2023 at 19:27):
https://en.wikipedia.org/wiki/Mixin
Last updated: Dec 20 2023 at 11:08 UTC