-
Notifications
You must be signed in to change notification settings - Fork 298
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] - feat(data/set/basic,order/filter/basic): add semiconj lemmas about images and maps #14970
Conversation
…with more useful API `_comm` lemmas are usually of the form `f (g x) = g (f x)`, but this lemma was of the form `f1 (f2 x) = f3 (f4 x)` which isn't commutativity in the usual sense. This adds a `function.commute` and `function.semiconj` lemma, and renames `image_comm` to `image_image_eq_image_image_of_eq`..
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 am happy with the semiconj
and commute
lemmas (although I would like to see finset
and filter
versions as well), but image_image_eq_image_image_of_eq
is a terrible name that goes against the naming conventions around algebraic replacement rules: see set.image2_comm
, set.image2_assoc
, the second half of data.finset.n_ary
, the second half of data.filter.n_ary
.
The finset lemmas can't exist until #14963 goes in, I'm working on the |
set.image_comm
with more useful API
It's a matter of "commutativity in a group" vs "commutativity in a groupoid". Do you have examples of groupoids that are also groups in an incompatible way? If not, I think the naming convention can stay as such because the two use cases are analogous and disjoint. |
Both are now added |
Thanks! |
…ages and maps (#14970) This adds `function.commute` and `function.semiconj` lemmas, and replaces all the uses of `_comm` lemmas with the `semiconj` version as it turns out that only this generality is needed.
Pull request successfully merged into master. Build succeeded: |
This adds
function.commute
andfunction.semiconj
lemmas, and replaces all the uses of_comm
lemmas with thesemiconj
version as it turns out that only this generality is needed.