Skip to content

[Merged by Bors] - feat(RingTheory/Polynomial/ContentIdeal): more theorems#25960

Closed
fbarroero wants to merge 7 commits intoleanprover-community:masterfrom
fbarroero:fbarroero_isPrimitive2
Closed

[Merged by Bors] - feat(RingTheory/Polynomial/ContentIdeal): more theorems#25960
fbarroero wants to merge 7 commits intoleanprover-community:masterfrom
fbarroero:fbarroero_isPrimitive2

Conversation

@fbarroero
Copy link
Copy Markdown
Collaborator

@fbarroero fbarroero commented Jun 16, 2025

We prove more facts about contentIdeal.
For instance we prove that
(p * q).contentIdeal $\le$ p.contentIdeal * q.contentIdeal $\le$ (p * q).contentIdeal.radical
which implies the following result, often called Gauss' Lemma

Polynomial.contentIdeal_mul_eq_top_of_contentIdeal_eq_top {p q : R[X]} (hp : p.contentIdeal = ⊤) 
(hq : q.contentIdeal = ⊤) : (p * q).contentIdeal = ⊤

Zulip discussion here


Open in Gitpod

---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.

For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html

In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.

To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:

Co-authored-by: Author Name <author@email.com>

If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:

Moves:
- Vector.* -> List.Vector.*
- ...

Deletions:
- Nat.bit1_add_bit1
- ...

Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.

If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]

-->

[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
@fbarroero fbarroero added the WIP Work in progress label Jun 16, 2025
@fbarroero fbarroero changed the title WIP feat(RingTheory/Polynomial/ContentIdeal): more theorems Jun 16, 2025
@github-actions github-actions bot added t-algebra Algebra (groups, rings, fields, etc) large-import Automatically added label for PRs with a significant increase in transitive imports labels Jun 16, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jun 16, 2025

PR summary 6d5899926b

Import changes exceeding 2%

% File
+2.58% Mathlib.RingTheory.Polynomial.ContentIdeal

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.RingTheory.Polynomial.ContentIdeal 1200 1231 +31 (+2.58%)
Import changes for all files
Files Import difference
Mathlib.RingTheory.Polynomial.ContentIdeal 31

Declarations diff

+ contentIdeal_eq_top_of_contentIdeal_mul_eq_top
+ contentIdeal_map_eq_map_contentIdeal
+ contentIdeal_mul_eq_top_of_contentIdeal_eq_top
+ contentIdeal_mul_le_mul_contentIdeal
+ contentIdeal_one
+ mul_contentIdeal_le_radical_contentIdeal_mul
+ span_insert_zero

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).

@fbarroero fbarroero removed the WIP Work in progress label Jun 16, 2025
@fbarroero fbarroero requested a review from jcommelin June 16, 2025 20:45
@jcommelin
Copy link
Copy Markdown
Member

@fbarroero Thanks! I made some local changes. I thought it was easier to just push them to a new branch, instead of copy-pasting them into review comments. You can inspect the suggestions here: fbarroero#1

@jcommelin
Copy link
Copy Markdown
Member

maintainer merge

@github-actions
Copy link
Copy Markdown

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

@ghost ghost added the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label Jun 17, 2025
@fbarroero
Copy link
Copy Markdown
Collaborator Author

maintainer merge

Thanks!!!
I didn't know one could use Aesop in mathlib. I will learn how to use it!

@riccardobrasca
Copy link
Copy Markdown
Member

There is an error, but otherwise LGTM, thanks!

bors d+

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Jun 17, 2025

✌️ fbarroero can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@ghost ghost 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 Jun 17, 2025
@fbarroero
Copy link
Copy Markdown
Collaborator Author

bors r+

mathlib-bors bot pushed a commit that referenced this pull request Jun 17, 2025
We prove more facts about `contentIdeal`.
For instance we prove that
`(p * q).contentIdeal $\le$ p.contentIdeal * q.contentIdeal $\le$ (p * q).contentIdeal.radical`
which implies the following result, often called Gauss' Lemma
```
Polynomial.contentIdeal_mul_eq_top_of_contentIdeal_eq_top {p q : R[X]} (hp : p.contentIdeal = ⊤) 
(hq : q.contentIdeal = ⊤) : (p * q).contentIdeal = ⊤
```

Zulip discussion [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/contentIdeal/with/522432790)



Co-authored-by: Johan Commelin <johan@commelin.net>
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Jun 17, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(RingTheory/Polynomial/ContentIdeal): more theorems [Merged by Bors] - feat(RingTheory/Polynomial/ContentIdeal): more theorems Jun 17, 2025
@mathlib-bors mathlib-bors bot closed this Jun 17, 2025
Rida-Hamadani pushed a commit to Rida-Hamadani/mathlib4 that referenced this pull request Jun 24, 2025
…ommunity#25960)

We prove more facts about `contentIdeal`.
For instance we prove that
`(p * q).contentIdeal $\le$ p.contentIdeal * q.contentIdeal $\le$ (p * q).contentIdeal.radical`
which implies the following result, often called Gauss' Lemma
```
Polynomial.contentIdeal_mul_eq_top_of_contentIdeal_eq_top {p q : R[X]} (hp : p.contentIdeal = ⊤) 
(hq : q.contentIdeal = ⊤) : (p * q).contentIdeal = ⊤
```

Zulip discussion [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/contentIdeal/with/522432790)



Co-authored-by: Johan Commelin <johan@commelin.net>
joelriou pushed a commit to joelriou/mathlib4 that referenced this pull request Jul 7, 2025
…ommunity#25960)

We prove more facts about `contentIdeal`.
For instance we prove that
`(p * q).contentIdeal $\le$ p.contentIdeal * q.contentIdeal $\le$ (p * q).contentIdeal.radical`
which implies the following result, often called Gauss' Lemma
```
Polynomial.contentIdeal_mul_eq_top_of_contentIdeal_eq_top {p q : R[X]} (hp : p.contentIdeal = ⊤) 
(hq : q.contentIdeal = ⊤) : (p * q).contentIdeal = ⊤
```

Zulip discussion [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/contentIdeal/with/522432790)



Co-authored-by: Johan Commelin <johan@commelin.net>
callesonne pushed a commit to callesonne/mathlib4 that referenced this pull request Jul 24, 2025
…ommunity#25960)

We prove more facts about `contentIdeal`.
For instance we prove that
`(p * q).contentIdeal $\le$ p.contentIdeal * q.contentIdeal $\le$ (p * q).contentIdeal.radical`
which implies the following result, often called Gauss' Lemma
```
Polynomial.contentIdeal_mul_eq_top_of_contentIdeal_eq_top {p q : R[X]} (hp : p.contentIdeal = ⊤) 
(hq : q.contentIdeal = ⊤) : (p * q).contentIdeal = ⊤
```

Zulip discussion [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/contentIdeal/with/522432790)



Co-authored-by: Johan Commelin <johan@commelin.net>
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). large-import Automatically added label for PRs with a significant increase in transitive imports t-algebra Algebra (groups, rings, fields, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants