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(linear_algebra/determinant): specialize linear_equiv.is_unit_det to automorphisms #7667

Closed
wants to merge 2 commits into from

Conversation

Vierkantor
Copy link
Collaborator

@Vierkantor Vierkantor commented May 19, 2021

linear_equiv.is_unit_det is defined for all equivs between equal-dimensional spaces, using det (linear_map.to_matrix _ _ _), but I needed this result for linear_map.det _ (which only exists between the exact same space). So I added the specialization linear_equiv.is_unit_det'.


Open in Gitpod

@Vierkantor Vierkantor added easy < 20s of review time. See the lifecycle page for guidelines. awaiting-review The author would like community review of the PR blocked-by-other-PR This PR depends on another PR which is still in the queue. A bot manages this label via PR comment. labels May 19, 2021
Vierkantor added a commit that referenced this pull request May 20, 2021
The definition of `linear_map.det` still doesn't require `decidable_eq`
but any lemmas unfolding it to `matrix.det` do.

Discussed here: #7667 (comment)
@github-actions github-actions bot added the merge-conflict Please `git merge origin/master` then a bot will remove this label. label May 25, 2021
Vierkantor added a commit that referenced this pull request May 25, 2021
The definition of `linear_map.det` still doesn't require `decidable_eq`
but any lemmas unfolding it to `matrix.det` do.

Discussed here: #7667 (comment)
@github-actions github-actions bot removed merge-conflict Please `git merge origin/master` then a bot will remove this label. blocked-by-other-PR This PR depends on another PR which is still in the queue. A bot manages this label via PR comment. labels May 31, 2021
@Vierkantor
Copy link
Collaborator Author

After the changes in #7635 the proof has become somewhat awkward (again). I'll wait until #7575 gets merged, then we can more easily do by_cases on "there is a finite basis" and get rid of the split_ifs.

@Vierkantor Vierkantor added awaiting-author A reviewer has asked the author a question or requested changes WIP Work in progress and removed awaiting-review The author would like community review of the PR labels May 31, 2021
Vierkantor added a commit that referenced this pull request Jun 1, 2021
This PR replaces `∃ (s : set M) (b : basis s R M), s.finite` with `∃ (s : finset M), nonempty (basis s R M)` in the definitions in `linear_map.det` and `linear_map.trace`. This should make it much easier to unfold those definitions without having to modify the instance cache or supply implicit params.

In particular, it should help a lot with #7667.
@Vierkantor Vierkantor added awaiting-review The author would like community review of the PR and removed WIP Work in progress awaiting-author A reviewer has asked the author a question or requested changes easy < 20s of review time. See the lifecycle page for guidelines. labels Jun 1, 2021
@github-actions github-actions bot added the blocked-by-other-PR This PR depends on another PR which is still in the queue. A bot manages this label via PR comment. label Jun 1, 2021
bors bot pushed a commit that referenced this pull request Jun 7, 2021
This PR replaces `∃ (s : set M) (b : basis s R M), s.finite` with `∃ (s : finset M), nonempty (basis s R M)` in the definitions in `linear_map.det` and `linear_map.trace`. This should make it much easier to unfold those definitions without having to modify the instance cache or supply implicit params.

In particular, it should help a lot with #7667.
bors bot pushed a commit that referenced this pull request Jun 7, 2021
This PR replaces `∃ (s : set M) (b : basis s R M), s.finite` with `∃ (s : finset M), nonempty (basis s R M)` in the definitions in `linear_map.det` and `linear_map.trace`. This should make it much easier to unfold those definitions without having to modify the instance cache or supply implicit params.

In particular, it should help a lot with #7667.
bors bot pushed a commit that referenced this pull request Jun 8, 2021
This PR replaces `∃ (s : set M) (b : basis s R M), s.finite` with `∃ (s : finset M), nonempty (basis s R M)` in the definitions in `linear_map.det` and `linear_map.trace`. This should make it much easier to unfold those definitions without having to modify the instance cache or supply implicit params.

In particular, it should help a lot with #7667.
bors bot pushed a commit that referenced this pull request Jun 9, 2021
This PR replaces `∃ (s : set M) (b : basis s R M), s.finite` with `∃ (s : finset M), nonempty (basis s R M)` in the definitions in `linear_map.det` and `linear_map.trace`. This should make it much easier to unfold those definitions without having to modify the instance cache or supply implicit params.

In particular, it should help a lot with #7667.
Vierkantor added a commit that referenced this pull request Jun 9, 2021
This PR replaces `∃ (s : set M) (b : basis s R M), s.finite` with `∃ (s : finset M), nonempty (basis s R M)` in the definitions in `linear_map.det` and `linear_map.trace`. This should make it much easier to unfold those definitions without having to modify the instance cache or supply implicit params.

In particular, it should help a lot with #7667.
bors bot pushed a commit that referenced this pull request Jun 12, 2021
This PR replaces `∃ (s : set M) (b : basis s R M), s.finite` with `∃ (s : finset M), nonempty (basis s R M)` in the definitions in `linear_map.det` and `linear_map.trace`. This should make it much easier to unfold those definitions without having to modify the instance cache or supply implicit params.

In particular, it should help a lot with #7667.
@github-actions github-actions bot added merge-conflict Please `git merge origin/master` then a bot will remove this label. and removed blocked-by-other-PR This PR depends on another PR which is still in the queue. A bot manages this label via PR comment. labels Jun 12, 2021
@github-actions
Copy link

🎉 Great news! Looks like all the dependencies have been resolved:

💡 To add or remove a dependency please update this issue/PR description.

Brought to you by Dependent Issues (:robot: ). Happy coding!

@github-actions github-actions bot removed the merge-conflict Please `git merge origin/master` then a bot will remove this label. label Jun 14, 2021
@sgouezel
Copy link
Collaborator

bors r+
Thanks!

@github-actions github-actions bot added ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) and removed awaiting-review The author would like community review of the PR labels Jun 14, 2021
bors bot pushed a commit that referenced this pull request Jun 14, 2021
…t` to automorphisms (#7667)

`linear_equiv.is_unit_det` is defined for all equivs between equal-dimensional spaces, using `det (linear_map.to_matrix _ _ _)`, but I needed this result for `linear_map.det _` (which only exists between the exact same space). So I added the specialization `linear_equiv.is_unit_det'`.
@bors
Copy link

bors bot commented Jun 15, 2021

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(linear_algebra/determinant): specialize linear_equiv.is_unit_det to automorphisms [Merged by Bors] - feat(linear_algebra/determinant): specialize linear_equiv.is_unit_det to automorphisms Jun 15, 2021
@bors bors bot closed this Jun 15, 2021
@bors bors bot deleted the linear_equiv-is_unit_det branch June 15, 2021 03:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants