[Merged by Bors] - feat(RingTheory/Radical): Radical of an element in a unique factorization normalization monoid#14873
[Merged by Bors] - feat(RingTheory/Radical): Radical of an element in a unique factorization normalization monoid#14873
Conversation
PR summary 0963a13d95Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
Mathlib/RingTheory/Radical.lean
Outdated
| theorem radical_zero_eq_one : radical (0 : α) = 1 := by | ||
| rw [radical, primeFactors, normalizedFactors_zero, Multiset.toFinset_zero, Finset.prod_empty] | ||
|
|
||
| theorem radical_one_eq_one : radical (1 : α) = 1 := by |
There was a problem hiding this comment.
| theorem radical_one_eq_one : radical (1 : α) = 1 := by | |
| @[simp] | |
| theorem radical_one : radical (1 : α) = 1 := by |
There was a problem hiding this comment.
Should I also change radical_unit_eq_one to radical_unit_eq? I wonder what is the rule behind the naming (if the simp reduction is 'trivial', drop the right hand side?).
There was a problem hiding this comment.
Another minor question is: do we want radical_(zero|one)_eq or radical_(zero|one)?
|
@jcommelin Could you check the updates? Thanks! |
Mathlib/RingTheory/Radical.lean
Outdated
| rw [primeFactors, Multiset.toFinset_val] | ||
| apply Multiset.dedup_le | ||
|
|
||
| theorem radical_prime {a : α} (ha : Prime a) : radical a = normalize a := by |
There was a problem hiding this comment.
| theorem radical_prime {a : α} (ha : Prime a) : radical a = normalize a := by | |
| theorem radical_of_prime {a : α} (ha : Prime a) : radical a = normalize a := by |
There was a problem hiding this comment.
This holds for every square-free element right? How hard is it to generalise this? same below.
There was a problem hiding this comment.
I believe so, but not sure how hard it is. For commutative rings, coprime induction with additional theorems in #15331 might work (assuming that we have multiplicativity theorem for the normalization map).
There was a problem hiding this comment.
Now that I think of it more, I think it follows easily from squarefree_iff_nodup_normalizedFactors.
There was a problem hiding this comment.
Should I prove it in this PR, or make another one later? FYI these are mainly for porting the formalization of Mason-Stothers theorem and we don't need the generalization.
|
@jcommelin @erdOne Let me know if any updates are needed! |
jcommelin
left a comment
There was a problem hiding this comment.
Sorry for the late response. I was away on holidays.
bors merge
…tion normalization monoid (#14873) For a unique factorization normalization monoid, define a radical of an element as a product of normalized prime factors (without duplication). Co-authored-by: Jineon Baek <jcpaik@jcpaik-desktop.local> Co-authored-by: Johan Commelin <johan@commelin.net>
| @@ -0,0 +1,104 @@ | |||
| /- | |||
| Copyright (c) 2024 Jineon Back and Seewoo Lee. All rights reserved. | |||
There was a problem hiding this comment.
| Copyright (c) 2024 Jineon Back and Seewoo Lee. All rights reserved. | |
| Copyright (c) 2024 Jineon Baek, Seewoo Lee. All rights reserved. |
| Radical of an element `a` in a unique factorization monoid is the product of | ||
| the prime factors of `a`. | ||
| -/ | ||
| def radical (a : M) : M := |
There was a problem hiding this comment.
Don't you think this is too generic of a name to be put in the root namespace?
There was a problem hiding this comment.
@YaelDillies I agree, do you have any suggestions? I was thinking something like element_radical. Maybe I should also change the name of the file Radical.lean accordingly?
There was a problem hiding this comment.
The defs you're using are in the UniqueFactorizationDomain namespace. m not a huge fan of it (why not just UFD or RingTheory?) but it would be an obvious statu quo choice
There was a problem hiding this comment.
I may not understand completely but moving everything to the RingTheory/UniqueFactorizationDomain.lean would be okay?
There was a problem hiding this comment.
No, I'm talking about the namespace, not the file!
|
Pull request successfully merged into master. Build succeeded: |
|
@seewoo5 Could you please create a follow-up PR implementing the comments by @YaelDillies ? |
…tion normalization monoid (#14873) For a unique factorization normalization monoid, define a radical of an element as a product of normalized prime factors (without duplication). Co-authored-by: Jineon Baek <jcpaik@jcpaik-desktop.local> Co-authored-by: Johan Commelin <johan@commelin.net>
…15826) Restrict scope of radical as suggested in [this comment](#14873 (comment)) by @YaelDillies.
…tion normalization monoid (#14873) For a unique factorization normalization monoid, define a radical of an element as a product of normalized prime factors (without duplication). Co-authored-by: Jineon Baek <jcpaik@jcpaik-desktop.local> Co-authored-by: Johan Commelin <johan@commelin.net>
…15826) Restrict scope of radical as suggested in [this comment](#14873 (comment)) by @YaelDillies.
…tion normalization monoid (#14873) For a unique factorization normalization monoid, define a radical of an element as a product of normalized prime factors (without duplication). Co-authored-by: Jineon Baek <jcpaik@jcpaik-desktop.local> Co-authored-by: Johan Commelin <johan@commelin.net>
…15826) Restrict scope of radical as suggested in [this comment](#14873 (comment)) by @YaelDillies.
…tion normalization monoid (#14873) For a unique factorization normalization monoid, define a radical of an element as a product of normalized prime factors (without duplication). Co-authored-by: Jineon Baek <jcpaik@jcpaik-desktop.local> Co-authored-by: Johan Commelin <johan@commelin.net>
…15826) Restrict scope of radical as suggested in [this comment](#14873 (comment)) by @YaelDillies.
For a unique factorization normalization monoid, define a radical of an element as a product of normalized prime factors (without duplication).
This is part of our project to port Mason-Stothers Theorem in mathlib @jcpaik. You can find more theorems that will be added in future PRs here.