[Merged by Bors] - refactor (NumberTheory/ModularForms, Analysis/Complex/UpperHalfPlane) Refactor and clean up coercions#18385
[Merged by Bors] - refactor (NumberTheory/ModularForms, Analysis/Complex/UpperHalfPlane) Refactor and clean up coercions#18385
Conversation
PR summary 0b967b2ef4Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
|
I think we're moving in the right direction here. It's still annoying that we need these up-arrow notations at all, but at least this imposes a bit more order upon them. I have
EDIT: Actually, forget that. The existing
|
|
!bench |
|
Here are the benchmark results for commit d0fd9f0. |
|
!bench |
|
Here are the benchmark results for commit 0b967b2. Benchmark Metric Change
==================================================================================
+ build .olean serialization -5.9%
+ build process pre-definitions -5.1%
+ ~Mathlib.Analysis.Complex.UpperHalfPlane.Basic instructions -16.9%
+ ~Mathlib.NumberTheory.ModularForms.SlashActions instructions -71.6% |
3 files, Instructions -2.0⬝10⁹
|
|
✌️ loefflerd can now approve this pull request. To approve and merge a pull request, simply reply with |
|
bors r+ |
… Refactor and clean up coercions (#18385) The code for SL(2, Z) and modular forms had lots of custom local notations, repeated in each file, for certain chains of coercions. We get rid of many of these, and harmonise the remaining ones using scoped (rather than file-local) notations. Separately, we get rid of a lot of annoying duplicate API lemmas by avoiding using subgroups as subtypes unless absolutely necessary. Co-authored-by: David Loeffler <d.loeffler.01@cantab.net> Co-authored-by: Chris Birkbeck <c.birkbeck@uea.ac.uk> Co-authored-by: Chris Birkbeck <c.birkbeck@ucl.ac.uk>
|
Pull request successfully merged into master. Build succeeded: |
… Refactor and clean up coercions (#18385) The code for SL(2, Z) and modular forms had lots of custom local notations, repeated in each file, for certain chains of coercions. We get rid of many of these, and harmonise the remaining ones using scoped (rather than file-local) notations. Separately, we get rid of a lot of annoying duplicate API lemmas by avoiding using subgroups as subtypes unless absolutely necessary. Co-authored-by: David Loeffler <d.loeffler.01@cantab.net> Co-authored-by: Chris Birkbeck <c.birkbeck@uea.ac.uk> Co-authored-by: Chris Birkbeck <c.birkbeck@ucl.ac.uk>
The code for SL(2, Z) and modular forms had lots of custom local notations, repeated in each file, for certain chains of coercions. We get rid of many of these, and harmonise the remaining ones using scoped (rather than file-local) notations. Separately, we get rid of a lot of annoying duplicate API lemmas by avoiding using subgroups as subtypes unless absolutely necessary.
Co-authored-by: David Loeffler d.loeffler.01@cantab.net