Skip to content

Conversation

@farmanb
Copy link
Contributor

@farmanb farmanb commented Dec 29, 2025

This PR generalizes Submodule.colon to arguments of type Set M in the second slot and updates the surrounding API accordingly.

Main changes

  • Generalize Submodule.colon to take S : Set M rather than P : Submodule R M.
  • Normalize theorems/lemmas to use Set.univ instead of where appropriate.
  • Strengthen iInf_colon_iSup by removing an unnecessary commutativity assumption.
  • Update monotonicity and inclusion lemmas (e.g. _root_.Ideal.le_colon) to use set inclusions.
  • Add colon_bot' (CommSemiring): identify ⊥.colon S with the annihilator of Submodule.span R S.
  • Adjust annihilator-related proofs to account for the generalized colon, using explicit coercions such as Submodule.top_coe.

Open in Gitpod

blake-farman added 3 commits December 29, 2025 12:04
…alization

* Update IsTwoSided instance to apply only to submodules via coercion to sets.
* Normalize statements to use Set.univ (avoiding ⊤) and fix monotonicity arguments accordingly.
* Remove colon_inf_left in favor of direct use of iInf_colon_iSup.
* Rework colon_inf_eq_left_of_le to use the generalized API.
* Add colon_bot' (CommSemiring): identify ⊥.colon S with the annihilator of span S.
* Tidy annihilator lemmas (Submodule.top_coe) and related rewrites.
@github-actions github-actions bot added new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-ring-theory Ring theory labels Dec 29, 2025
@github-actions
Copy link

github-actions bot commented Dec 29, 2025

PR summary 19e41d0839

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ _root_.Ideal.colon_span
+ _root_.Ideal.mem_colon_span_singleton
+ bot_colon
+ bot_colon'
+ colon_empty
+ colon_eq_top_iff_subset
+ colon_iUnion
+ colon_inf_eq_left_of_subset
+ colon_span
+ colon_union
+ colon_univ
+ iInf_colon
+ iInf_colon_iUnion
+ inf_colon
+ instance (priority := low) (P : Submodule R M) : (N.colon (P : Set M)).IsTwoSided
+ mem_colon_span_singleton
+ top_colon
- _root_.Ideal.mem_colon_singleton
- instance (priority := low) : (N.colon P).IsTwoSided

You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>

The doc-module for script/declarations_diff.sh contains some details about this script.


No changes to technical debt.

You can run this locally as

./scripts/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

@github-actions github-actions bot added the WIP Work in progress label Dec 29, 2025
@farmanb farmanb marked this pull request as ready for review December 30, 2025 15:30
@farmanb
Copy link
Contributor Author

farmanb commented Jan 8, 2026

-WIP

@github-actions github-actions bot removed the WIP Work in progress label Jan 8, 2026
@erdOne
Copy link
Member

erdOne commented Jan 10, 2026

Sorry didn't notice this because it was tagged WIP 😅

@erdOne erdOne added the awaiting-author A reviewer has asked the author a question or requested changes. label Jan 10, 2026
@farmanb
Copy link
Contributor Author

farmanb commented Jan 11, 2026

-awaiting-author

@github-actions github-actions bot removed the awaiting-author A reviewer has asked the author a question or requested changes. label Jan 11, 2026
@erdOne erdOne added the awaiting-author A reviewer has asked the author a question or requested changes. label Jan 12, 2026
Copy link
Member

@erdOne erdOne left a comment

Choose a reason for hiding this comment

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

LGTM otherwise

Thanks!
maintainer merge

@github-actions
Copy link

🚀 Pull request has been placed on the maintainer queue by erdOne.

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label Jan 15, 2026
@riccardobrasca
Copy link
Member

Thanks!

bors d+

@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Jan 16, 2026

✌️ farmanb 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-mathlib4-bot leanprover-community-mathlib4-bot added delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). and removed maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. labels Jan 16, 2026
@farmanb
Copy link
Contributor Author

farmanb commented Jan 16, 2026

Thanks!

bors r+

mathlib-bors bot pushed a commit that referenced this pull request Jan 16, 2026
This PR generalizes `Submodule.colon` to arguments of type `Set M` in the second slot and updates the surrounding API accordingly.

Main changes
* Generalize `Submodule.colon` to take `S : Set M` rather than `P : Submodule R M`.
* Normalize theorems/lemmas to use `Set.univ` instead of `⊤` where appropriate.
* Strengthen `iInf_colon_iSup` by removing an unnecessary commutativity assumption.
* Update monotonicity and inclusion lemmas (e.g. `_root_.Ideal.le_colon`) to use set inclusions.
* Add `colon_bot'` (`CommSemiring`): identify `⊥.colon S` with the annihilator of `Submodule.span R S`.
* Adjust annihilator-related proofs to account for the generalized colon, using explicit coercions such as `Submodule.top_coe`.

Co-authored-by: blake-farman <blake.farman@gmail.com>
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Jan 16, 2026

Build failed (retrying...):

mathlib-bors bot pushed a commit that referenced this pull request Jan 16, 2026
This PR generalizes `Submodule.colon` to arguments of type `Set M` in the second slot and updates the surrounding API accordingly.

Main changes
* Generalize `Submodule.colon` to take `S : Set M` rather than `P : Submodule R M`.
* Normalize theorems/lemmas to use `Set.univ` instead of `⊤` where appropriate.
* Strengthen `iInf_colon_iSup` by removing an unnecessary commutativity assumption.
* Update monotonicity and inclusion lemmas (e.g. `_root_.Ideal.le_colon`) to use set inclusions.
* Add `colon_bot'` (`CommSemiring`): identify `⊥.colon S` with the annihilator of `Submodule.span R S`.
* Adjust annihilator-related proofs to account for the generalized colon, using explicit coercions such as `Submodule.top_coe`.

Co-authored-by: blake-farman <blake.farman@gmail.com>
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Jan 16, 2026

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(RingTheory/Ideal): generalize Submodule.colon to sets [Merged by Bors] - feat(RingTheory/Ideal): generalize Submodule.colon to sets Jan 16, 2026
@mathlib-bors mathlib-bors bot closed this Jan 16, 2026
@adomani adomani mentioned this pull request Jan 16, 2026
farmanb pushed a commit to farmanb/mathlib4 that referenced this pull request Jan 16, 2026
This adapts IdealFilter to the generalized Submodule.colon API
introduced in leanprover-community#33390.
eliasjudin pushed a commit to eliasjudin/mathlib4 that referenced this pull request Jan 18, 2026
…r-community#33390)

This PR generalizes `Submodule.colon` to arguments of type `Set M` in the second slot and updates the surrounding API accordingly.

Main changes
* Generalize `Submodule.colon` to take `S : Set M` rather than `P : Submodule R M`.
* Normalize theorems/lemmas to use `Set.univ` instead of `⊤` where appropriate.
* Strengthen `iInf_colon_iSup` by removing an unnecessary commutativity assumption.
* Update monotonicity and inclusion lemmas (e.g. `_root_.Ideal.le_colon`) to use set inclusions.
* Add `colon_bot'` (`CommSemiring`): identify `⊥.colon S` with the annihilator of `Submodule.span R S`.
* Adjust annihilator-related proofs to account for the generalized colon, using explicit coercions such as `Submodule.top_coe`.

Co-authored-by: blake-farman <blake.farman@gmail.com>
bilichboris pushed a commit to bilichboris/mathlib4 that referenced this pull request Jan 18, 2026
…r-community#33390)

This PR generalizes `Submodule.colon` to arguments of type `Set M` in the second slot and updates the surrounding API accordingly.

Main changes
* Generalize `Submodule.colon` to take `S : Set M` rather than `P : Submodule R M`.
* Normalize theorems/lemmas to use `Set.univ` instead of `⊤` where appropriate.
* Strengthen `iInf_colon_iSup` by removing an unnecessary commutativity assumption.
* Update monotonicity and inclusion lemmas (e.g. `_root_.Ideal.le_colon`) to use set inclusions.
* Add `colon_bot'` (`CommSemiring`): identify `⊥.colon S` with the annihilator of `Submodule.span R S`.
* Adjust annihilator-related proofs to account for the generalized colon, using explicit coercions such as `Submodule.top_coe`.

Co-authored-by: blake-farman <blake.farman@gmail.com>
goliath-klein pushed a commit to PrParadoxy/mathlib4 that referenced this pull request Jan 24, 2026
…r-community#33390)

This PR generalizes `Submodule.colon` to arguments of type `Set M` in the second slot and updates the surrounding API accordingly.

Main changes
* Generalize `Submodule.colon` to take `S : Set M` rather than `P : Submodule R M`.
* Normalize theorems/lemmas to use `Set.univ` instead of `⊤` where appropriate.
* Strengthen `iInf_colon_iSup` by removing an unnecessary commutativity assumption.
* Update monotonicity and inclusion lemmas (e.g. `_root_.Ideal.le_colon`) to use set inclusions.
* Add `colon_bot'` (`CommSemiring`): identify `⊥.colon S` with the annihilator of `Submodule.span R S`.
* Adjust annihilator-related proofs to account for the generalized colon, using explicit coercions such as `Submodule.top_coe`.

Co-authored-by: blake-farman <blake.farman@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-ring-theory Ring theory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants