Skip to content
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/matrix/rank): rank of multiplication #18784

Closed
wants to merge 5 commits into from

Conversation

eric-wieser
Copy link
Member

@eric-wieser eric-wieser commented Apr 9, 2023

This adds a universe-polymorphic version of rank_comp_le_right, and then uses it to show (A ⬝ B).rank ≤ B.rank; previously we only had (A ⬝ B).rank ≤ A.rank.

For convenience, this adds the spellings (A ⬝ B).rank ≤ min A.rank B.rank and rank (f.comp g) ≤ min (rank f) (rank g), as these map well to the way that rank would be described in words.


Open in Gitpod

@eric-wieser eric-wieser added awaiting-review The author would like community review of the PR t-algebra Algebra (groups, rings, fields etc) labels Apr 9, 2023
@eric-wieser eric-wieser added modifies-synchronized-file This PR touches a files that has already been ported to mathlib4, and may need a synchronization PR. and removed modified-synchronized-file labels Apr 10, 2023
Copy link
Member

@riccardobrasca riccardobrasca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

bors d+

lemma rank_mul_le_right [strong_rank_condition R] (A : matrix l m R) (B : matrix m n R) :
(A ⬝ B).rank ≤ B.rank :=
begin
classical,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need classical here and not in the proof of rank_mul_le_left?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because to_lin'_mul is asymmetric in which arguments it needs decidable equality in (the truth is that it doesn't need it at all, but that's a refactor for another time).

I've changed this to a letI to make the reason clearer.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "another time" is now: #18800

@bors
Copy link

bors bot commented Apr 13, 2023

✌️ eric-wieser can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@leanprover-community-bot-assistant leanprover-community-bot-assistant added delegated The PR author may merge after reviewing final suggestions. and removed awaiting-review The author would like community review of the PR labels Apr 13, 2023
@eric-wieser
Copy link
Member Author

bors merge

@github-actions github-actions bot added the ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) label Apr 13, 2023
bors bot pushed a commit that referenced this pull request Apr 13, 2023
This adds a universe-polymorphic version of `rank_comp_le_right`, and then uses it to show `(A ⬝ B).rank ≤ B.rank`; previously we only had `(A ⬝ B).rank ≤ A.rank`.

For convenience, this adds the spellings `(A ⬝ B).rank ≤ min A.rank B.rank` and `rank (f.comp g) ≤ min (rank f) (rank g)`, as these map well to the way that rank would be described in words.
@bors
Copy link

bors bot commented Apr 13, 2023

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(data/matrix/rank): rank of multiplication [Merged by Bors] - feat(data/matrix/rank): rank of multiplication Apr 13, 2023
@bors bors bot closed this Apr 13, 2023
@bors bors bot deleted the eric-wieser/matrix-rank-more branch April 13, 2023 11:50
eric-wieser added a commit to leanprover-community/mathlib4 that referenced this pull request Apr 15, 2023
bors bot pushed a commit to leanprover-community/mathlib4 that referenced this pull request Apr 17, 2023
semorrison pushed a commit to leanprover-community/mathlib4 that referenced this pull request May 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delegated The PR author may merge after reviewing final suggestions. modifies-synchronized-file This PR touches a files that has already been ported to mathlib4, and may need a synchronization PR. ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) t-algebra Algebra (groups, rings, fields etc)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants