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] - chore: small splits of RingTheory.Ideal.Operations; clean imports #12090

Closed
wants to merge 6 commits into from

Conversation

Vierkantor
Copy link
Contributor

This is based on seeing the import RingTheory.Ideal.OperationsLinearAlgebra.Basis on the longest pole. It feels like Ideal.Operations is a bit of a chokepoint for compiling Mathlib since it imports many files and is imported by many files. So splitting out a few obvious parts should help with compile times. Moreover, there are a bunch of imports that I could remove and have the file still compile: presumably these are (were) transitive dependencies that shake does not remove.

The following results and their corollaries were split off:

  • Ideal.basisSpanSingleton
  • Basis.mem_ideal_iff
  • Ideal.colon

In particular, now Ideal.Operations should no longer need to know about Basis or submodule quotients.


Open in Gitpod

@Vierkantor Vierkantor added awaiting-review The author would like community review of the PR awaiting-CI t-algebra Algebra (groups, rings, fields etc) labels Apr 12, 2024
@erdOne
Copy link
Member

erdOne commented Apr 12, 2024

In particular, now Ideal.Operations should no longer need to know about Basis or submodule quotients.

Maybe use assert_not_exists to guarantee this?

Copy link
Collaborator

@Ruben-VandeVelde Ruben-VandeVelde left a comment

Choose a reason for hiding this comment

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

maintainer merge

Copy link

🚀 Pull request has been placed on the maintainer queue by Ruben-VandeVelde.

@j-loreaux
Copy link
Collaborator

bors merge

@github-actions github-actions bot added ready-to-merge This PR has been sent to bors. and removed awaiting-review The author would like community review of the PR labels Apr 19, 2024
mathlib-bors bot pushed a commit that referenced this pull request Apr 19, 2024
…12090)

This is based on seeing the import `RingTheory.Ideal.Operations` → `LinearAlgebra.Basis` on the [longest pole](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/The.20long.20pole.20in.20mathlib/near/432898637). It feels like `Ideal.Operations` is a bit of a chokepoint for compiling Mathlib since it imports many files and is imported by many files. So splitting out a few obvious parts should help with compile times. Moreover, there are a bunch of imports that I could remove and have the file still compile: presumably these are (were) transitive dependencies that shake does not remove.

The following results and their corollaries were split off:
 * `Ideal.basisSpanSingleton`
 * `Basis.mem_ideal_iff`
 * `Ideal.colon`

In particular, now `Ideal.Operations` should no longer need to know about `Basis` or submodule quotients.
@mathlib-bors
Copy link

mathlib-bors bot commented Apr 19, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title chore: small splits of RingTheory.Ideal.Operations; clean imports [Merged by Bors] - chore: small splits of RingTheory.Ideal.Operations; clean imports Apr 19, 2024
@mathlib-bors mathlib-bors bot closed this Apr 19, 2024
@mathlib-bors mathlib-bors bot deleted the split-IdealOperations branch April 19, 2024 13:42
mathlib-bors bot pushed a commit that referenced this pull request Apr 19, 2024
This PR was supposed to be simultaneous with #12090 but I got ill last week.

This is based on seeing the import `Algebra.Algebra.Subalgebra.Basic → RingTheory.Ideal.Operations` on the [longest pole](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/The.20long.20pole.20in.20mathlib/near/432898637). It feels like `Ideal.Operations` should not be needed to define the notion of subalgebra, only to construct some interesting examples. So I removed the import and split off anything that wouldn't fit.

The following results and their corollaries were split off:
 * `Subalgebra.prod`
 * `Subalgebra.iSupLift`
 * `AlgHom.ker_rangeRestrict`
 * `Subalgebra.mem_of_finset_sum_eq_one_of_pow_smul_mem`



Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
mathlib-bors bot pushed a commit that referenced this pull request Apr 20, 2024
This PR was supposed to be simultaneous with #12090 but I got ill last week.

This is based on seeing the import `Algebra.Algebra.Subalgebra.Basic → RingTheory.Ideal.Operations` on the [longest pole](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/The.20long.20pole.20in.20mathlib/near/432898637). It feels like `Ideal.Operations` should not be needed to define the notion of subalgebra, only to construct some interesting examples. So I removed the import and split off anything that wouldn't fit.

The following results and their corollaries were split off:
 * `Subalgebra.prod`
 * `Subalgebra.iSupLift`
 * `AlgHom.ker_rangeRestrict`
 * `Subalgebra.mem_of_finset_sum_eq_one_of_pow_smul_mem`



Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
callesonne pushed a commit that referenced this pull request Apr 22, 2024
…12090)

This is based on seeing the import `RingTheory.Ideal.Operations` → `LinearAlgebra.Basis` on the [longest pole](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/The.20long.20pole.20in.20mathlib/near/432898637). It feels like `Ideal.Operations` is a bit of a chokepoint for compiling Mathlib since it imports many files and is imported by many files. So splitting out a few obvious parts should help with compile times. Moreover, there are a bunch of imports that I could remove and have the file still compile: presumably these are (were) transitive dependencies that shake does not remove.

The following results and their corollaries were split off:
 * `Ideal.basisSpanSingleton`
 * `Basis.mem_ideal_iff`
 * `Ideal.colon`

In particular, now `Ideal.Operations` should no longer need to know about `Basis` or submodule quotients.
callesonne pushed a commit that referenced this pull request Apr 22, 2024
This PR was supposed to be simultaneous with #12090 but I got ill last week.

This is based on seeing the import `Algebra.Algebra.Subalgebra.Basic → RingTheory.Ideal.Operations` on the [longest pole](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/The.20long.20pole.20in.20mathlib/near/432898637). It feels like `Ideal.Operations` should not be needed to define the notion of subalgebra, only to construct some interesting examples. So I removed the import and split off anything that wouldn't fit.

The following results and their corollaries were split off:
 * `Subalgebra.prod`
 * `Subalgebra.iSupLift`
 * `AlgHom.ker_rangeRestrict`
 * `Subalgebra.mem_of_finset_sum_eq_one_of_pow_smul_mem`



Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
Jun2M pushed a commit that referenced this pull request Apr 24, 2024
…12090)

This is based on seeing the import `RingTheory.Ideal.Operations` → `LinearAlgebra.Basis` on the [longest pole](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/The.20long.20pole.20in.20mathlib/near/432898637). It feels like `Ideal.Operations` is a bit of a chokepoint for compiling Mathlib since it imports many files and is imported by many files. So splitting out a few obvious parts should help with compile times. Moreover, there are a bunch of imports that I could remove and have the file still compile: presumably these are (were) transitive dependencies that shake does not remove.

The following results and their corollaries were split off:
 * `Ideal.basisSpanSingleton`
 * `Basis.mem_ideal_iff`
 * `Ideal.colon`

In particular, now `Ideal.Operations` should no longer need to know about `Basis` or submodule quotients.
Jun2M pushed a commit that referenced this pull request Apr 24, 2024
This PR was supposed to be simultaneous with #12090 but I got ill last week.

This is based on seeing the import `Algebra.Algebra.Subalgebra.Basic → RingTheory.Ideal.Operations` on the [longest pole](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/The.20long.20pole.20in.20mathlib/near/432898637). It feels like `Ideal.Operations` should not be needed to define the notion of subalgebra, only to construct some interesting examples. So I removed the import and split off anything that wouldn't fit.

The following results and their corollaries were split off:
 * `Subalgebra.prod`
 * `Subalgebra.iSupLift`
 * `AlgHom.ker_rangeRestrict`
 * `Subalgebra.mem_of_finset_sum_eq_one_of_pow_smul_mem`



Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintainer-merge ready-to-merge This PR has been sent to bors. t-algebra Algebra (groups, rings, fields etc)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants