[Merged by Bors] - feat(RingTheory): add HahnSeries.truncLT#27055
[Merged by Bors] - feat(RingTheory): add HahnSeries.truncLT#27055wwylele wants to merge 16 commits intoleanprover-community:masterfrom
Conversation
PR summary d51b0adb3dImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
ScottCarnahan
left a comment
There was a problem hiding this comment.
Looks good to me.
Ruben-VandeVelde
left a comment
There was a problem hiding this comment.
maintainer merge
|
🚀 Pull request has been placed on the maintainer queue by Ruben-VandeVelde. |
5a2d0c6 to
4bba53b
Compare
|
After comparing with existing code, I decided to make a few changes
Sorry for making big change after review |
YaelDillies
left a comment
There was a problem hiding this comment.
Apologies, I don't actually know the proof of the Hahn embedding theorem. Would you mind explaining how truncation of Hahn series comes in? Naïvely, I would have expected truncation to be upwards, but instead it's downwards.
|
@YaelDillies sure, let me see if I can explain this well... The proof I am following is https://www.ams.org/journals/proc/1952-003-06/S0002-9939-1952-0052045-1/. (The proof shown there is for a special case where the ordered group is a real vector space. Generalization is explained here). The truncation operation is called "cut" on page 980. The proof is a process of transfinite induction starting from a partial map and adding new elements to the domain (Theorem 3.2). Whenever a new element is added, one needs to assign appropriate output to that element and preserve desired properties (strict monotone & linear). This turns out pretty hard on its own (maybe impossible?), so one strengthen the induction hypothesis with an extra condition on the partial map
Because of linearity of This condition means that all values of |
Co-authored-by: Scott Carnahan <128885296+ScottCarnahan@users.noreply.github.com>
- rename to trunc (similar to PowerSeries.trunc) - upgrade the base trunc to a ZeroHom, similar to HahnSeries.single - also add the AddMonoidHom version - manual simp lemma to get the correct name
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
| @[simp] | ||
| theorem truncLinearMap_apply [DecidableLE Γ] (c : Γ) (x : HahnSeries Γ V) : | ||
| truncLinearMap R c x = trunc c x := rfl |
There was a problem hiding this comment.
Can we also have coe_truncLinearMap?
There was a problem hiding this comment.
Added the coe version. I also removed truncLinearMap_apply as it becomes a redundant simp lemma
|
Don't forget to remove |
|
@YaelDillies Thanks for the reminder. Could you take a look now? |
YaelDillies
left a comment
There was a problem hiding this comment.
Thanks!
maintainer delegate
|
🚀 Pull request has been placed on the maintainer queue by YaelDillies. |
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
| /-- `HahnSeries.truncLT` as a linear map. -/ | ||
| def truncLTLinearMap [DecidableLT Γ] (c : Γ) : HahnSeries Γ V →ₗ[R] HahnSeries Γ V where | ||
| toFun := truncLT c | ||
| map_add' x y := by |
There was a problem hiding this comment.
Can you prove these two results as separated lemmas (with minimal assumptions)? Thanks!
There was a problem hiding this comment.
Added. As the code is not so trivial, I am going to leave it here for a day for further comments before I merge
|
✌️ wwylele can now approve this pull request. To approve and merge a pull request, simply reply with |
|
:/ another weird CI error. Going to merge from master |
|
bors r+ |
|
Pull request successfully merged into master. Build succeeded: |
This is for the proof of Hahn embedding theorem #27043, but it feels niche to have it in HahnSeries file, so I am not sure... if this doesn't feel right, I could make them private to the proof.