[Merged by Bors] - feat(Order): the transfinite iteration of a map#19935
[Merged by Bors] - feat(Order): the transfinite iteration of a map#19935
Conversation
PR summary 85a0356966Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
|
Am I correct in saying this is pretty much |
I would be happy if this was a particular case of another construction, but please note that in the applications |
|
Well, more precisely, I think def transfiniteIterate {I J : Type*}
[SupSet I] [PartialOrder J] [SuccOrder J] [WellFoundedLT J] (f : I → I) (n : J) : I → I :=
SuccOrder.limitRecOn n
(fun _ _ ↦ id) (fun _ _ g ↦ f ∘ g) (fun y _ IH ↦ ⨆ x : Set.Iio y, IH x.1 x.2)There's no actual requirement that |
Thanks very much for the shorter definition! I think I still want to use the supremum. Under the assumption |
|
The advantage with using the If you want we can discuss this further on Zulip. I think it'd be really nice to link this definition to our existing ordinal API. |
I am not sure there is a need to unify with |
|
✌️ joelriou can now approve this pull request. To approve and merge a pull request, simply reply with |
Co-authored-by: Johan Commelin <johan@commelin.net>
|
Thanks! bors merge |
Given `φ : I → I` where `[SupSet I]`, we define the `j`th transfinite iteration of `φ` for any `j : J`, with `J` a well-ordered type: this is `transfiniteIterate φ j : I → I`. If `i₀ : I`, then `transfiniteIterate φ ⊥ i₀ = i₀`; if `j` is a non maximal element, than `transfiniteIterate φ (Order.succ j) i₀ = φ (transfiniteIterate φ j i₀)`; and if `j` is a limit element, `transfiniteIterate φ j i₀` is the supremum of the `transfiniteIterate φ l i₀` for `l < j`. (Hopefully, this will be used in order to show Grothendieck abelian categories have enough injectives.) Co-authored-by: vi.hdz.p@gmail.com Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
|
Pull request successfully merged into master. Build succeeded: |
Given
φ : I → Iwhere[SupSet I], we define thejth transfinite iteration ofφfor anyj : J, withJa well-ordered type: this istransfiniteIterate φ j : I → I. Ifi₀ : I, thentransfiniteIterate φ ⊥ i₀ = i₀; ifjis a non maximal element, thantransfiniteIterate φ (Order.succ j) i₀ = φ (transfiniteIterate φ j i₀); and ifjis a limit element,transfiniteIterate φ j i₀is the supremum of thetransfiniteIterate φ l i₀forl < j.(Hopefully, this will be used in order to show Grothendieck abelian categories have enough injectives.)
Co-authored-by: vi.hdz.p@gmail.com