[Merged by Bors] - feat(LinearAlgebra/{FiniteDimensional|Dimension/DivisionRing}): relax condition of some results#12963
[Merged by Bors] - feat(LinearAlgebra/{FiniteDimensional|Dimension/DivisionRing}): relax condition of some results#12963
Conversation
|
@erdOne What do you think? Asking because IIRC you wanted to do a systematic generalization of this kind of results. Anyway this LGTM, thanks! |
|
Does it make sense to move these declarations elsewhere? They're not about a division ring anymore. |
Let me see later if they can be moved to an earlier file, e.g. |
|
The stuff I put into |
|
OK, good. @acmepjz do you mind moving the result in this PR? |
It's OK for me. But I think I have to postpone this a little bit, since in fact the changes in this PR are not used in my linearly disjoint PR; only #12849 is used. I have to tackle other PRs first. It's best if someone could help me to move such contents; but if you're busy I can do it later anyway. |
|
Done moving results to a separated file. |
|
You can run this locally as follows ## summary with just the declaration names:
./scripts/no_lost_declarations.sh short <optional_commit>
## more verbose report:
./scripts/no_lost_declarations.sh <optional_commit> |
… condition of some results (#12963) ... from requiring `F` being a field to `F` satisfying `StrongRankCondition` and `S` being a free `F`-module. This makes the original statement a special case. Changed results: In `DivisionRing.lean`: - `Basis.ofRankEqZero[_apply]` - `le_rank_iff_exists_linearIndependent[_finset]` - `rank[_submodule]_le_one_iff`, `rank_submodule_le_one_iff'` - newly added result: `rank[_submodule]_eq_one_iff` - `Submodule.rank_le_one_iff_isPrincipal`, `Module.rank_le_one_iff_top_isPrincipal` In `FiniteDimensional.lean`: - `finrank_eq_one_iff`, `finrank_eq_one_iff'`, `finrank_le_one_iff` - `Submodule.finrank_le_one_iff_isPrincipal`, `Module.finrank_le_one_iff_top_isPrincipal` - `cardinal_mk_eq_cardinal_mk_field_pow_rank`, `cardinal_lt_aleph0_of_finiteDimensional` All of them are moved to a separated file.
|
Build failed (retrying...): |
… condition of some results (#12963) ... from requiring `F` being a field to `F` satisfying `StrongRankCondition` and `S` being a free `F`-module. This makes the original statement a special case. Changed results: In `DivisionRing.lean`: - `Basis.ofRankEqZero[_apply]` - `le_rank_iff_exists_linearIndependent[_finset]` - `rank[_submodule]_le_one_iff`, `rank_submodule_le_one_iff'` - newly added result: `rank[_submodule]_eq_one_iff` - `Submodule.rank_le_one_iff_isPrincipal`, `Module.rank_le_one_iff_top_isPrincipal` In `FiniteDimensional.lean`: - `finrank_eq_one_iff`, `finrank_eq_one_iff'`, `finrank_le_one_iff` - `Submodule.finrank_le_one_iff_isPrincipal`, `Module.finrank_le_one_iff_top_isPrincipal` - `cardinal_mk_eq_cardinal_mk_field_pow_rank`, `cardinal_lt_aleph0_of_finiteDimensional` All of them are moved to a separated file.
|
Build failed (retrying...): |
… condition of some results (#12963) ... from requiring `F` being a field to `F` satisfying `StrongRankCondition` and `S` being a free `F`-module. This makes the original statement a special case. Changed results: In `DivisionRing.lean`: - `Basis.ofRankEqZero[_apply]` - `le_rank_iff_exists_linearIndependent[_finset]` - `rank[_submodule]_le_one_iff`, `rank_submodule_le_one_iff'` - newly added result: `rank[_submodule]_eq_one_iff` - `Submodule.rank_le_one_iff_isPrincipal`, `Module.rank_le_one_iff_top_isPrincipal` In `FiniteDimensional.lean`: - `finrank_eq_one_iff`, `finrank_eq_one_iff'`, `finrank_le_one_iff` - `Submodule.finrank_le_one_iff_isPrincipal`, `Module.finrank_le_one_iff_top_isPrincipal` - `cardinal_mk_eq_cardinal_mk_field_pow_rank`, `cardinal_lt_aleph0_of_finiteDimensional` All of them are moved to a separated file.
|
Pull request successfully merged into master. Build succeeded: |
… condition of some results (#12963) ... from requiring `F` being a field to `F` satisfying `StrongRankCondition` and `S` being a free `F`-module. This makes the original statement a special case. Changed results: In `DivisionRing.lean`: - `Basis.ofRankEqZero[_apply]` - `le_rank_iff_exists_linearIndependent[_finset]` - `rank[_submodule]_le_one_iff`, `rank_submodule_le_one_iff'` - newly added result: `rank[_submodule]_eq_one_iff` - `Submodule.rank_le_one_iff_isPrincipal`, `Module.rank_le_one_iff_top_isPrincipal` In `FiniteDimensional.lean`: - `finrank_eq_one_iff`, `finrank_eq_one_iff'`, `finrank_le_one_iff` - `Submodule.finrank_le_one_iff_isPrincipal`, `Module.finrank_le_one_iff_top_isPrincipal` - `cardinal_mk_eq_cardinal_mk_field_pow_rank`, `cardinal_lt_aleph0_of_finiteDimensional` All of them are moved to a separated file.
… condition of some results (#12963) ... from requiring `F` being a field to `F` satisfying `StrongRankCondition` and `S` being a free `F`-module. This makes the original statement a special case. Changed results: In `DivisionRing.lean`: - `Basis.ofRankEqZero[_apply]` - `le_rank_iff_exists_linearIndependent[_finset]` - `rank[_submodule]_le_one_iff`, `rank_submodule_le_one_iff'` - newly added result: `rank[_submodule]_eq_one_iff` - `Submodule.rank_le_one_iff_isPrincipal`, `Module.rank_le_one_iff_top_isPrincipal` In `FiniteDimensional.lean`: - `finrank_eq_one_iff`, `finrank_eq_one_iff'`, `finrank_le_one_iff` - `Submodule.finrank_le_one_iff_isPrincipal`, `Module.finrank_le_one_iff_top_isPrincipal` - `cardinal_mk_eq_cardinal_mk_field_pow_rank`, `cardinal_lt_aleph0_of_finiteDimensional` All of them are moved to a separated file.
... from requiring
Fbeing a field toFsatisfyingStrongRankConditionandSbeing a freeF-module. This makes the original statement a special case.Changed results:
In
DivisionRing.lean:Basis.ofRankEqZero[_apply]le_rank_iff_exists_linearIndependent[_finset]rank[_submodule]_le_one_iff,rank_submodule_le_one_iff'rank[_submodule]_eq_one_iffSubmodule.rank_le_one_iff_isPrincipal,Module.rank_le_one_iff_top_isPrincipalIn
FiniteDimensional.lean:finrank_eq_one_iff,finrank_eq_one_iff',finrank_le_one_iffSubmodule.finrank_le_one_iff_isPrincipal,Module.finrank_le_one_iff_top_isPrincipalcardinal_mk_eq_cardinal_mk_field_pow_rank,cardinal_lt_aleph0_of_finiteDimensionalAll of them are moved to a separated file.