-
Notifications
You must be signed in to change notification settings - Fork 297
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] - feat(ring_theory/localization): integral closure in field extension #3096
Conversation
Cool! I'm not sure I like the name |
A more descriptive name can't hurt! Perhaps |
src/data/polynomial.lean
Outdated
begin | ||
convert (show eval₂ g x (C s * p) = g s * eval₂ g x p, by rw [eval₂_mul, eval₂_C]), | ||
ext, | ||
rw [coeff_smul, coeff_C_mul] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you extract the lemma s • p = C s * p
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found a lemma C_mul' : C s * p = s • p
and used that one. Should it become a simp
lemma (in either direction)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To me it's not clear which side is simp normal form.
df93930
to
c59842d
Compare
In the end, I renamed it to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ChrisHughes24 Shall we merge this? I'm happy with the new names.
bors merge |
…3096) Let `A` be an integral domain with field of fractions `K` and `L` a finite extension of `K`. This PR shows the integral closure of `A` in `L` has fraction field `L`. If those definitions existed, the corollary is that the ring of integers of a number field is a number ring. For this, we need two constructions on polynomials: * If `p` is a nonzero polynomial, `integral_normalization p` is a monic polynomial with roots `z * a` for `z` a root of `p` and `a` the leading coefficient of `p` * If `f` is the localization map from `A` to `K` and `p` has coefficients in `K`, then `f.integer_normalization p` is a polynomial with coefficients in `A` (think: `∀ i, is_integer (f.integer_normalization p).coeff i`) with the same roots as `p`.
Build failed: |
bors r- |
…leading_coeff` times as big as the original roots
Co-Authored-By: Johan Commelin <johan@commelin.net>
Co-Authored-By: Chris Hughes <chrishughes24@gmail.com>
c59842d
to
509cb0e
Compare
Looks like |
bors r+ |
…3096) Let `A` be an integral domain with field of fractions `K` and `L` a finite extension of `K`. This PR shows the integral closure of `A` in `L` has fraction field `L`. If those definitions existed, the corollary is that the ring of integers of a number field is a number ring. For this, we need two constructions on polynomials: * If `p` is a nonzero polynomial, `integral_normalization p` is a monic polynomial with roots `z * a` for `z` a root of `p` and `a` the leading coefficient of `p` * If `f` is the localization map from `A` to `K` and `p` has coefficients in `K`, then `f.integer_normalization p` is a polynomial with coefficients in `A` (think: `∀ i, is_integer (f.integer_normalization p).coeff i`) with the same roots as `p`.
Pull request successfully merged into master. Build succeeded: |
…eanprover-community#3096) Let `A` be an integral domain with field of fractions `K` and `L` a finite extension of `K`. This PR shows the integral closure of `A` in `L` has fraction field `L`. If those definitions existed, the corollary is that the ring of integers of a number field is a number ring. For this, we need two constructions on polynomials: * If `p` is a nonzero polynomial, `integral_normalization p` is a monic polynomial with roots `z * a` for `z` a root of `p` and `a` the leading coefficient of `p` * If `f` is the localization map from `A` to `K` and `p` has coefficients in `K`, then `f.integer_normalization p` is a polynomial with coefficients in `A` (think: `∀ i, is_integer (f.integer_normalization p).coeff i`) with the same roots as `p`.
Let
A
be an integral domain with field of fractionsK
andL
a finite extension ofK
. This PR shows the integral closure ofA
inL
has fraction fieldL
. If those definitions existed, the corollary is that the ring of integers of a number field is a number ring.For this, we need two constructions on polynomials:
p
is a nonzero polynomial,integral_normalization p
is a monic polynomial with rootsz * a
forz
a root ofp
anda
the leading coefficient ofp
f
is the localization map fromA
toK
andp
has coefficients inK
, thenf.integer_normalization p
is a polynomial with coefficients inA
(think:∀ i, is_integer (f.integer_normalization p).coeff i
) with the same roots asp
.