Zulip Chat Archive
Stream: maths
Topic: Transfinite recursion
Jack McKoen (Aug 13 2024 at 01:32):
I'm trying to recreate this proof in Lean, but I'm having a hard time figuring out transfinite recursion. I don't think the specifics of the proof are that important here, but my basic problem is this:
For a fixed ordinal I need to recursively define morphisms satisfying certain properties which depend on the morphisms , but I haven't been able to come up with a good way to package this.
docs#WellFounded.recursion seems close to what I need but I don't think it's enough (I think it would work if I just had to assign each ordinal to a proposition, but I have to assign morphisms as well).
Can anyone suggest a way to do this?
Violeta Hernández (Aug 13 2024 at 01:39):
Recursion is what you're looking for
Violeta Hernández (Aug 13 2024 at 01:40):
Note the signature C : α → Sort
, meaning C
can contain propositions or data
Violeta Hernández (Aug 13 2024 at 01:42):
We don't have a way to do bounded recursion on ordinals directly just yet, so as a way to sidestep it you could define, for all ordinals x
, an element of x < α → M
where M
is the type of your morphisms
Jack McKoen (Aug 13 2024 at 02:11):
Violeta Hernández said:
We don't have a way to do bounded recursion on ordinals directly just yet, so as a way to sidestep it you could define, for all ordinals
x
, an element ofx < α → M
whereM
is the type of your morphisms
Thank you, I think this has put me back on track
Joël Riou (Aug 13 2024 at 06:15):
Doing such an induction is quite technical. I have already completely formalized the small object argument, but I am PRing it slowly to mathlib. If I understand the language properly, the fact that the class of morphisms which satisfy the left lifting property with respect to a class of morphisms is stable by transfinite composition is the last declaration in this file https://github.com/joelriou/k-injective/blob/main/KInjective/SmallObject/Lifting.lean
Jack McKoen (Aug 13 2024 at 06:49):
Joël Riou said:
https://github.com/joelriou/k-injective/blob/main/KInjective/SmallObject/Lifting.lean
This is great, Joël. It looks like much of this repo will be useful to me :+1:
Last updated: May 02 2025 at 03:31 UTC