Zulip Chat Archive
Stream: maths
Topic: IsSuccLimit
Yury G. Kudryashov (Jul 27 2023 at 05:23):
@Violeta Hernández Is it intentional that docs#Order.IsSuccLimit allows bot
while docs#Ordinal.IsLimit and docs#Cardinal.IsLimit don't?
Yury G. Kudryashov (Jul 27 2023 at 05:28):
Should we change IsSuccLimit
to assume ¬IsMin a
(or ¬IsBot a
?)
Yury G. Kudryashov (Jul 27 2023 at 06:01):
CC @Yaël Dillies
Yaël Dillies (Jul 27 2023 at 06:20):
This was already discussed at length in !3#15005. Upshot is that is_succ_limit
is the useful predicate in general, but the literature is divided on whether 0
is a limit ordinal. Eg my Logic & Set Theory lectures this year claim it is, but Wikipedia claims the opposite.
Yaël Dillies (Jul 27 2023 at 06:22):
Personally I'm in favour of changing cardinal.is_limit
to allow 0
, or maybe to rename is_succ_limit
to is_succ_prelimit
and define a new is_succ_limit
that matches cardinal.is_limit
.
Kevin Buzzard (Jul 27 2023 at 06:41):
I wouldn't trust "random lecturer who doesn't really care about the question" any more.
Kevin Buzzard (Jul 27 2023 at 06:42):
However I think I agree with your random lecturer!
Violeta Hernández (Jul 27 2023 at 06:43):
I've got nothing new to say here but I might as well say hi
Violeta Hernández (Jul 27 2023 at 06:43):
Long time no see
Yury G. Kudryashov (Jul 27 2023 at 07:10):
From topology point of view, {0}
is an open set while all other {c}
, IsSuccLimit c
are.
Yury G. Kudryashov (Jul 27 2023 at 07:17):
I will think about the IsSuccPrelimit
option.
Pedro Sánchez Terraf (Jul 27 2023 at 20:08):
I'm definitely with the topology camp on this one, and since 0
is isolated, it is not a limit. Nor obviously a successor.
Kevin Buzzard (Jul 27 2023 at 20:09):
From the order point of view, 0 is the sup of the ordinals strictly less than it, so it's a limit ordinal. But maybe it's like 1 not being a prime despite it satisfying many of the criteria for and properties of primality.
Pedro Sánchez Terraf (Jul 27 2023 at 20:10):
You just have proved that a sup need not be a limit :wink:
Pedro Sánchez Terraf (Jul 27 2023 at 20:12):
Yury G. Kudryashov said:
Violeta Hernández Is it intentional that docs#Order.IsSuccLimit allows
bot
while docs#Ordinal.IsLimit and docs#Cardinal.IsLimit don't?
Wrt cardinals, limit is only used for infinite ones.
Violeta Hernández (Aug 19 2024 at 05:18):
I was thinking about this again. I think there's reasonable arguments towards both sides of 0
being a limit ordinal or not. Another argument in favor is that ω | 0
, and in fact IsSuccLimit o ↔ ω | o
. An argument against is that a normal function evaluated at 0
need not be the supremum of itself evaluated at values less than 0
, i.e. f 0 ≠ 0
in general.
Violeta Hernández (Aug 19 2024 at 05:24):
From a strictly practical perspective, I do think it's bad that we have two nearly identical definitions with a lot of shared results. Most of the basic results about Ordinal.IsLimit
, like a < o → succ a < o
or o ≤ a ↔ ∀ x < o, x ≤ a
, are still true for o = 0
.
Violeta Hernández (Aug 19 2024 at 05:30):
It's in our spirit as mathematicians to prove things in their greatest generality, right? With that mindset, I think it makes a lot of sense to prove stuff about IsSuccLimit o
, and tack on the o ≠ 0
assumption only when it's needed.
Violeta Hernández (Aug 19 2024 at 05:38):
I think the name IsSuccLimit
is already enough of a compromise. These aren't really limit ordinals, depending on who you're talking to, but it's just more convenient to set things up in terms of a common definition like that one.
Kevin Buzzard (Aug 19 2024 at 18:21):
We have docs#Prime and docs#Preprime (edit: apparently we don't!)
Yury G. Kudryashov (Aug 20 2024 at 04:07):
We have docs#IsPreconnected
Violeta Hernández (Aug 20 2024 at 07:38):
I guess another possibility is to keep both definitions, but define them in the same file. That way the APIs never diverge much.
Violeta Hernández (Aug 20 2024 at 07:38):
That seems to be what's happening with IsPreconnected
Violeta Hernández (Sep 03 2024 at 14:55):
@Yaël Dillies Thinking about this again. What do you think about turning IsSuccLimit
into IsSuccPrelimit
and defining IsSuccLimit x ↔ IsSuccPrelimit x ∧ ¬ IsMin x
?
Yaël Dillies (Sep 03 2024 at 15:26):
I think that's a fine approach
Violeta Hernández (Sep 03 2024 at 16:29):
Is the name fine? I feel very iffy about outright replacing a definition by a non-equivalent one, but at the same time, I don't think it's proper to just call the new definition something like IsSuccLimit'
Yury G. Kudryashov (Sep 03 2024 at 16:57):
Please mention the rename in the new docstring.
Violeta Hernández (Sep 05 2024 at 18:23):
I'm finding this change to be quite destructive. There's a lot of theorem names involving IsSuccLimit
that have to be completely removed since they're now just false when stated like that.
Violeta Hernández (Sep 05 2024 at 18:26):
The diff is 700+ lines and it doesn't even build yet. Admittedly it can be compressed a bit if I wait until a later PR to introduce the new induction principles, but still, a lot of this is just renaming and deprecating.
Violeta Hernández (Sep 05 2024 at 18:27):
I'm thinking, maybe we could go about this in stages? First introduce the new definition using some temporary alias like IsSuccLimit'
, with a docstring explaining the future rename. Then redefine Cardinal.IsLimit
and Ordinal.IsLimit
using it. Finally, perform the switch IsSuccLimit' → IsSuccLimit
and IsSuccLimit → IsSuccPrelimit
at once.
Violeta Hernández (Sep 05 2024 at 18:28):
The initial PR that introduces the new definition should really not be touching any other files. That's scope creep in my view.
Yury G. Kudryashov (Sep 05 2024 at 18:57):
Or you can start with renaming the old definition.
Violeta Hernández (Sep 05 2024 at 20:04):
Ah, that's much cleaner. I'll make the PR for that soon.
Violeta Hernández (Sep 06 2024 at 05:09):
Initial renaming PR: #16518
Violeta Hernández (Sep 07 2024 at 17:55):
Somewhat on a related note, I'm having a lot of trouble doing the succ x → x + 1
replacement on ordinals.
Violeta Hernández (Sep 07 2024 at 17:55):
The main issue is that docs#Ordinal.IsLimit is stated in terms of succ
. So anything tangentially related to limit ordinals uses succ
all over the place.
Violeta Hernández (Sep 07 2024 at 17:56):
I could redefine IsLimit
, but that's a wasted effort if we do it before IsSuccLimit
drops
Yury G. Kudryashov (Sep 07 2024 at 19:30):
You can add IsSuccLimit
first, if it's more convenient.
Violeta Hernández (Sep 07 2024 at 22:54):
Yeah, that's the idea. I am sort of expecting it to take a while for IsSuccLimit
to be up and running though.
Violeta Hernández (Sep 12 2024 at 08:00):
Never mind! That was quick
Violeta Hernández (Sep 12 2024 at 08:00):
Now, here's a question. What's the design principle for IsSuccLimit
and IsSuccPrelimit
?
Violeta Hernández (Sep 12 2024 at 08:00):
Do we duplicate all lemmas where either is applicable? Or do we only use the one that yields the strongest conclusion?
Violeta Hernández (Sep 12 2024 at 08:00):
For instance, do we want both IsSuccPrelimit ℵ₀
and IsSuccLimit ℵ₀
?
Yaël Dillies (Sep 12 2024 at 08:08):
I think the stronger one is enough
Last updated: May 02 2025 at 03:31 UTC