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