Zulip Chat Archive
Stream: PR reviews
Topic: The category of pointed objects of a concrete category
Sina Hazratpour 𓃵 (Jul 31 2024 at 10:21):
Apparently we do not have the category of pointed groupoid, which i needed in a project, so , in #15055 , I define the category of pointed objects of a concrete category, and establish an equivalence to the category of elements of the forgetful functor forget C
of the concrete category. This equivalence is used to show that a map of concrete categories induces a functor between the correponding category of pointed objects.
comments/reviews appreciated.
Dagur Asgeirsson (Jul 31 2024 at 11:40):
I left some comments
Kim Morrison (Jul 31 2024 at 23:56):
I think this is the wrong definition, and there should be no mention of concreteness. If C
has an initial object, then Pointed C
should just be Under (⊥_ C)
.
Sina Hazratpour 𓃵 (Aug 01 2024 at 04:36):
Did you mean terminal instead of "initial"?
https://ncatlab.org/nlab/show/pointed+object
What I want from Pointed C
is that its objects are pairs (X, x)
where X
is an object of C
and x
is in X
. So for instance, Pointed Type
is a category whose objects are types and an element of the type, or Pointed Grp
is a category whose objects are groups and an element of group, say
On the other hand, the under category Under (⊤_ Grp)
is Grp
itself, which is not what I want.
Maybe, the name "pointed objects " is not good? maybe we want "objects with a point"?
Sina Hazratpour 𓃵 (Aug 01 2024 at 04:37):
(also, sometimes a category might not have a terminal object but is concrete such as the category of fields.)
Yaël Dillies (Aug 01 2024 at 04:40):
I will add that you should feel free to refactor docs#Pointed
Kim Morrison (Aug 01 2024 at 07:09):
(Yes, I should have said terminal.)
Kim Morrison (Aug 01 2024 at 07:10):
Could you explain what you want this for? I don't think we should change the meaning of "pointed" here, but perhaps can work out a better name if we know the context.
Sina Hazratpour 𓃵 (Aug 01 2024 at 07:37):
With Steve Awodey and Mario Carneiro, in groupoid_model_in_lean4 we are formalizing the groupoid model of HoTT in Lean, by interpreting the natural model of HoTT into groupoids. The Natural model comes equipped with a type of small types and a type of terms. In the groupoid model they are and (i.e. the category of pairs where is a small groupoid and is an object of it).
Screenshot-2024-08-01-at-9.34.13AM.png
I need . Formalizing the construction for a concrete category is a more general case of this construction.
Andrew Yang (Aug 01 2024 at 07:41):
For pointed groupoids, the Under (⊥_ C)
approach is the right one though. Do you specifically need "pointed groups"?
Sina Hazratpour 𓃵 (Aug 01 2024 at 07:43):
Indeed. However, I thought maybe in mathlib it would be better to have a construction that covers groups, rings, fields, topological spaces ..., as well as groupoids and categories? That's why I opted for this formalization. In this project I don't need groups.
Kim Morrison (Aug 01 2024 at 08:55):
But I think that general construction is not generally useful, while the Under (⊥_ C)
construction is. I'd want to see actual applications!
Sina Hazratpour 𓃵 (Aug 01 2024 at 09:01):
@Kim Morrison
I am gravitating to to your position. Other than the pair which is the initial object of pointed rings and which is the initial object of pointed groups, I know no other examples.
Mario Carneiro (Aug 03 2024 at 20:44):
I think the "under bot" definition is wrong in any category with a zero object. That's how we came up with the group example in the first place
Mario Carneiro (Aug 03 2024 at 20:47):
The fact that these are simply different constructions tells me that we should probably just have both, and if we do I think the concrete category definition is more deserving of the name "pointed C" than the Under (⊥_ C)
definition, since it actually involves points and not just global elements.
Mario Carneiro (Aug 03 2024 at 20:48):
(NB: I discussed this example with Sina beforehand and suggested the concrete category generalization)
Kim Morrison (Aug 05 2024 at 02:51):
I think the established use of "pointed object" in the literature is sufficient for that version to claim the name.
Joël Riou (Aug 05 2024 at 03:08):
We could have Pointed
for the general Under top
construction, and PointedDiscrete
for the concrete version. Also, why not making PointedDiscrete
an abbreviation for (forget C).Elements
?
Sina Hazratpour 𓃵 (Aug 05 2024 at 08:48):
I like your suggestions of PointedConcrete
and Pointed
.
@Joël Riou wrote
Also, why not making PointedDiscrete an abbreviation for (forget C).Elements?
The reason I started with the current definition
class Pointed where
obj : C
pt : obj
is because I thought the API might be simpler to use compared to (forget C).Elements
. I'll do a parallel formalization using (forget C).Elements
and see which one works best. The advantage of the latter is lemmas/theorems of Elements become immediately available for PointedConcrete
, before we prove the equivalence of the two. If the API is not too bad I prefer the second approach too.
Joël Riou (Aug 05 2024 at 08:54):
The API of Elements
may require some improvements, but this is a good occasion to do so!
Last updated: May 02 2025 at 03:31 UTC