-
Notifications
You must be signed in to change notification settings - Fork 299
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/integral_closure): Explicitly define integral extensions #4164
Conversation
…ion and prove that is_jacobson transfers along them
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.
Thanks for taking this on.
… the algebra definition from that
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.
Suggestion about names. Otherwise, this looks like a much needed refactor to me. Thanks!
@jcommelin Is this code okay to merge at this point after the naming changes? |
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.
Thanks! Two style suggestions, otherwise looks good to me.
bors d+
def is_integral (x : A) : Prop := | ||
∃ p : polynomial R, monic p ∧ aeval x p = 0 | ||
(algebra_map R A).is_integral_elem x |
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.
It's a bit confusing that the split is made between ring_hom.is_integral_elem
and ring_hom.is_integral
one way, and between _root_.is_integral
and algebra.is_integral
another way. On the other hand, this way more closely matches existing mathematical terminology. I can't think of any better alternatives, so I guess let's keep it as is for now.
✌️ dtumad can now approve this pull request. To approve and merge a pull request, simply reply with |
Co-authored-by: Vierkantor <Vierkantor@users.noreply.github.com>
Co-authored-by: Vierkantor <Vierkantor@users.noreply.github.com>
bors r+ |
Have I caused an issue with bors somehow? it seems to be stuck pending in the queue, and I'm not really sure why? |
@dtumad ah, I think the "Details" link next to "bors: Pending - Waiting in queue" (which I'm guessing you don't have access to) shows that bors crashed on this batch. Let's just try again. bors r+ |
…ions (#4164) * Defined `ring_hom.is_integral_elem` as a generalization of `is_integral` that takes a ring homomorphism rather than an algebra. The old version is is redefined to be `(algebra_map R A).is_integral_elem x`. * Create predicates `ring_hom.is_integral` and `algebra.is_integral` representing when the entire extension is integral over the base ring. Co-authored-by: Devon Tuma <dtumad@gmail.com>
Build failed (retrying...): |
…ions (#4164) * Defined `ring_hom.is_integral_elem` as a generalization of `is_integral` that takes a ring homomorphism rather than an algebra. The old version is is redefined to be `(algebra_map R A).is_integral_elem x`. * Create predicates `ring_hom.is_integral` and `algebra.is_integral` representing when the entire extension is integral over the base ring. Co-authored-by: Devon Tuma <dtumad@gmail.com>
Build failed: |
Please merge |
@dtumad Sorry, I didn't receive a notification... please ping me on Zulip if I don't reply on Github. |
bors r+ |
…ions (#4164) * Defined `ring_hom.is_integral_elem` as a generalization of `is_integral` that takes a ring homomorphism rather than an algebra. The old version is is redefined to be `(algebra_map R A).is_integral_elem x`. * Create predicates `ring_hom.is_integral` and `algebra.is_integral` representing when the entire extension is integral over the base ring. Co-authored-by: Devon Tuma <dtumad@gmail.com>
Pull request successfully merged into master. Build succeeded: |
Defined
ring_hom.is_integral_elem
as a generalization ofis_integral
that takes a ring homomorphism rather than an algebra. The old version is is redefined to be(algebra_map R A).is_integral_elem x
.Create predicates
ring_hom.is_integral
andalgebra.is_integral
representing when the entire extension is integral over the base ring.Note that
is_integral
no longer depends onaeval
in its definition.