[Merged by Bors] - feat(Mathlib/LinearAlgebra): embeddings of free modules#37919
[Merged by Bors] - feat(Mathlib/LinearAlgebra): embeddings of free modules#37919artie2000 wants to merge 8 commits intoleanprover-community:masterfrom
Conversation
PR summary 09037d340eImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
riccardobrasca
left a comment
There was a problem hiding this comment.
There the comment by Eric, but otherwise LGTM, thanks!
bors d+
|
✌️ artie2000 can now approve this pull request. To approve and merge a pull request, simply reply with |
| variable [Semiring R] [AddCommMonoid M] [Module R M] [Nontrivial R] | ||
| variable [Semiring R] [AddCommMonoid M] [Module R M] | ||
|
|
||
| theorem exists_set_of_lt_lift_rank {α : Cardinal.{w}} |
There was a problem hiding this comment.
| theorem exists_set_of_lt_lift_rank {α : Cardinal.{w}} | |
| theorem exists_linearIndepOn_of_lt_lift_rank {α : Cardinal.{w}} |
There was a problem hiding this comment.
going with exists_set_linearIndependent_of_lt_lift_rank by analogy with existing exists_set_linearIndependent_of_lt_rank
|
How do I un-delegate? |
|
bors d- |
|
🚫 All delegations have been removed from this PR. To re-add a delegation, reply with |
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
… into embed-submodule
There was a problem hiding this comment.
Pull request overview
This PR extends Mathlib’s dimension theory for free modules by proving existence/characterization results for injective linear maps (linear embeddings) between free modules in terms of Module.rank/finrank, with universe-polymorphic (“lift”) statements where appropriate.
Changes:
- Add existence theorems producing injective linear maps
M →ₗ[R] Nfrom rank inequalities, and rank/finrank≤characterizations via existence of an injective linear map. - Generalize/move “existence of a linearly independent set of prescribed cardinality below rank” into
Dimension/Basic.lean, and deprecate the old lemma location/name inDimension/Finite.lean. - Add a new basis lemma showing
Basis.constris injective when its images of basis vectors are linearly independent (used to build embeddings).
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| Mathlib/LinearAlgebra/Dimension/Free.lean | Adds rank-/lift-rank-based existence of injective linear maps and rank ≤ / finrank ≤ iff-exists-injective-linear-map lemmas (under StrongRankCondition where needed). |
| Mathlib/LinearAlgebra/Dimension/Finite.lean | Removes the old exists_set_linearIndependent_of_lt_rank lemma and replaces it with a deprecated alias to the new canonical lemma in Module. |
| Mathlib/LinearAlgebra/Dimension/Basic.lean | Introduces Module.exists_set_linearIndependent_of_lt_lift_rank and Module.exists_set_linearIndependent_of_lt_rank, making the construction available in the core dimension file. |
| Mathlib/LinearAlgebra/Basis/Basic.lean | Adds Module.Basis.injective_constr_of_linearIndependent, enabling injectivity of Basis.constr from linear independence of assigned vectors. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@eric-wieser are you happy with this? |
|
LGTM. @eric-wieser can you have another quick look? Thanks! |
|
bors merge Thanks! |
* A free module embeds linearly into any module of strictly greater rank * A free module embeds linearly into another free module iff the other one has greater rank The proofs have been generalised as much as possible. Co-authored-by: Aaron Liu <aaronliu2008@outlook.com>
|
Pull request successfully merged into master. Build succeeded: |
The proofs have been generalised as much as possible.
Co-authored-by: Aaron Liu aaronliu2008@outlook.com