-
Notifications
You must be signed in to change notification settings - Fork 256
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Merged by Bors] - refactor: use the typeclass SProd
to implement overloaded notation · ×ˢ ·
#4200
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm very happy with these changes, but they're quite sweeping so I'll let somebody else have an opinion as well.
I'm happy with these changes too. I know I had some reservations on Zulip, but I reviewed all the changes in closer detail and they're all improvements, so I say we go ahead. Want to put it back at |
bors d+ |
✌️ Komyyy can now approve this pull request. To approve and merge a pull request, simply reply with |
bors r+ |
Historical remark: I introduced a similar typeclass in leanprover-community/mathlib#11300, then @YaelDillies replaced it with overlapping notations in leanprover-community/mathlib#15717 because it worked better in Lean 3. |
Merge conflict. |
bors r+ |
@urkud To add to the historical remark: one thing that is different now from then is that instances of this |
…`· ×ˢ ·` (#4200) Currently, the following notations are changed from `· ×ˢ ·` because Lean 4 can't deal with ambiguous notations. | Definition | Notation | | : Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: Chris Hughes <chrishughes24@gmail.com>
Pull request successfully merged into master. Build succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page. |
SProd
to implement overloaded notation · ×ˢ ·
SProd
to implement overloaded notation · ×ˢ ·
…`· ×ˢ ·` (leanprover-community#4200) Currently, the following notations are changed from `· ×ˢ ·` because Lean 4 can't deal with ambiguous notations. | Definition | Notation | | : Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: Chris Hughes <chrishughes24@gmail.com>
Currently, the following notations are changed from
· ×ˢ ·
because Lean 4 can't deal with ambiguous notations.Finset.product
· ×ᶠ ·
LowerSet.prod
· ×ˡˢ ·
UpperSet.prod
· ×ᵘˢ ·
And following notations were still
· ×ˢ ·
but they causes performance issues; even timeouts.Set.prod
· ×ˢ ·
List.product
· ×ˢ ·
Multiset.product
· ×ˢ ·
This PR makes the new typeclass
SProd
to implement overloaded notation· ×ˢ ·
, and revert changed notations.Also, this PR changes the notation of
Filter.prod
from· ×ᶠ ·
to· ×ˢ ·
.fbinop%
term elaborator to support set product notation #4308