Zulip Chat Archive
Stream: mathlib4
Topic: Naming of SecondCountableTopology
Josha Dekker (Feb 15 2024 at 16:24):
I'm trying to automatically generate names for topological spaces to facilitate in tracking the progress of Mathlib on the results in pi-base, but I'm a bit confused about why SecondCountableTopology
and FirstCountableTopology
are not named SecondCountableSpace
and FirstCountableSpace
instead, what logic am I missing, so that I can adapt my code for this?
Yury G. Kudryashov (Feb 23 2024 at 22:18):
Usually, the answer is "for historical reasons" a.k.a. someone chose these names several years ago. Also, there are no other topology- related terms in the names.
Yury G. Kudryashov (Feb 23 2024 at 22:19):
Also, some names are in the TopologicalSpace
namespace, others aren't.
Josha Dekker (Feb 23 2024 at 22:55):
Okay, thank you! Let me drop a poll here to see if people want to see the name changed to SecondCountableSpace? I’ll make a PR if there is sufficiently much support
Josha Dekker (Feb 23 2024 at 22:55):
/poll Change the name to SecondCountableTopology?
Yes
No
Jireh Loreaux (Feb 24 2024 at 03:21):
Personally, I would prefer dropping the Space
suffix on these. E.g., SecondCountable
, Metrizable
(that one could even come out of the TopologicalSpace
namespace), etc.
Josha Dekker (Feb 24 2024 at 07:06):
/poll Drop the -Topology/Space suffix on the above mentioned topological properties
Yes
No
Sébastien Gouëzel (Feb 24 2024 at 09:03):
I'd rather add a prefix Is
for uniformity with the rest of mathlib, but keep Space
to distinguish properties of the space from properties of sets. For instance, IsCompact
vs. IsCompactSpace
.
Jireh Loreaux (Feb 25 2024 at 08:24):
I think this shows that we really need to decide under what conditions the Is
prefix applies.
Kevin Buzzard (Feb 25 2024 at 09:54):
What are the arguments against "Is
iff a Prop"?
Adam Topaz (Feb 25 2024 at 14:37):
That doesn’t make sense in category theory
Richard Osborn (Feb 25 2024 at 14:37):
I believe most of the counter examples are in the category theory files (Faithful
, IsLimit
, IsLeftAdjoint
). I think the argument is that Full
being a Type and Faithful
being a Prop is largely an implementation detail, so it would be weird to have Full
and IsFaithful
.
Adam Topaz (Feb 25 2024 at 14:43):
Well, in my opinion the reason is that Prop genuinely should mean something different when doing category theory. Since talking about, e.g. equality of objects is incompatible with the language of category theory, if you want to state some property involving objects, you need to include data which (usually) pins down some objects up to isomorphism. IsLimit
and IsLeftAdjoint
are good examples of this. When we start doing higher category theory in earnest, the situation will only get worse
Adam Topaz (Feb 25 2024 at 14:44):
Arguably Full
could be made a prop since it’s a property about morphisms, not objects
Antoine Chambert-Loir (Feb 25 2024 at 16:00):
Why can't docs#CategoryTheory.Limits.IsLimit be a Prop
?
Antoine Chambert-Loir (Feb 25 2024 at 16:03):
I rephrase: presently, docs#CategoryTheory.Limits.IsLimit contains the lifts implied by the universal property of a limit, so it contains data, but why couldn't there be a Prop
-version that merely asserts the universal property?
Markus Himmel (Feb 25 2024 at 16:07):
That would be slightly strange, as it would mean that you care about the specific maps going out of the cone point (these are part of the cone), but not about those going into the cone point (which are part of IsLimit
). Of course, we do have the case where you care about neither maps, nor the cone point: docs#CategoryTheory.Limits.HasLimit
Adam Topaz (Feb 25 2024 at 18:25):
Antoine, you’re right, IsLimit could indeed be phrased as a prop with this philosophy. But there are situations where you may want explicit control over the lift morphism, and for those having it as part of the data is convenient. If no control is needed then HasLimit is the way to go as Markus mentioned. (I admit, this issue is orthogonal to the situation of the comment I made above, so IsLeftAdjoint is a better example in that case.)
Last updated: May 02 2025 at 03:31 UTC