Skip to content
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(algebraic_geometry/EllipticCurve/weierstrass): define Weierstrass polynomials and prove basic facts #17631

Closed
wants to merge 78 commits into from

Conversation

Multramate
Copy link
Collaborator

@Multramate Multramate commented Nov 19, 2022

Define the Weierstrass polynomial and its partial derivatives, as well as properties of their evaluations (the Weierstrass equation and nonsingularity). Prove that a Weierstrass curve is nonsingular at every point if its discriminant is non-zero, and its coordinate ring is an integral domain (because the associated polynomial is irreducible). Fix minor issues (rename the variable C with the variable W to avoid a clash with polynomial.C, and generalise two_torsion_polynomial_disc_ne_zero).


Co-authored-by: Junyan Xu junyanxumath@gmail.com

Open in Gitpod

@Multramate Multramate added awaiting-review The author would like community review of the PR awaiting-CI The author would like to see what CI has to say before doing more work. t-algebraic-geometry Algebraic geometry t-number-theory Number theory (also use t-algebra or t-analysis to specialize) labels Nov 19, 2022
@Multramate Multramate requested a review from a team as a code owner November 19, 2022 21:03
@mathlib-dependent-issues-bot mathlib-dependent-issues-bot added the blocked-by-other-PR This PR depends on another PR which is still in the queue. A bot manages this label via PR comment. label Nov 19, 2022
@github-actions github-actions bot removed the awaiting-CI The author would like to see what CI has to say before doing more work. label Nov 20, 2022
@Multramate Multramate changed the title feat(algebraic_geometry/EllipticCurve/point): prove that the coordinate ring is a domain feat(algebraic_geometry/EllipticCurve/weierstrass): prove that the coordinate ring is a domain Dec 5, 2022
@Multramate Multramate changed the title feat(algebraic_geometry/EllipticCurve/weierstrass): prove that the coordinate ring is a domain feat(algebraic_geometry/EllipticCurve/weierstrass): define Weierstrass polynomials and prove basic facts Dec 6, 2022
bors bot pushed a commit that referenced this pull request Dec 6, 2022
…polynomials (#17664)

+ To show a monic polynomial `p` over a commutative semiring without zero divisors is irreducible, it suffices to show that `p ≠ 1` and that there doesn't exist a factorization into the product of two monic polynomials of positive degrees: `monic.irreducible_iff_nat_degree`.

+ If such a factorization exists, one of the polynomial must have degree less than or equal to `p.nat_degree / 2`: `monic.irreducible_iff_nat_degree'`.

+ To show a quadratic monic polynomial `p` is reducible, it suffices to it doesn't factor as `(X+c)(X+c')`, i.e. there don't exist `c` and `c'` that add up to the 1st coefficient and multiply up to the 0th coefficient: `not_irreducible_iff_exists_add_mul_eq_coeff`.

+ Define the ring homomorphism `constant_coeff` in *coeff.lean* which is analogous to [mv_polynomial.constant_coeff](https://leanprover-community.github.io/mathlib_docs/data/mv_polynomial/basic.html#mv_polynomial.constant_coeff); use it to golf and generalize `is_unit_C` and `eq_one_of_is_unit_of_monic` in *monic.lean* and various lemmas in *ring_division.lean*.

+ Add `monic.is_unit_iff`.

+ Golf some lemmas in *erase_lead.lean*.

Co-authored-by: Thomas Browning <thomas.l.browning@gmail.com>
Co-authored-by: Anne Baanen <t.baanen@vu.nl>

Inspired by #17631
@mathlib-dependent-issues-bot mathlib-dependent-issues-bot removed the blocked-by-other-PR This PR depends on another PR which is still in the queue. A bot manages this label via PR comment. label Dec 6, 2022
Copy link
Collaborator

@alreadydone alreadydone left a comment

Choose a reason for hiding this comment

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

Thanks, LGTM! Was busy and just had a chance to review.

Co-authored-by: Junyan Xu <junyanxumath@gmail.com>
@alreadydone
Copy link
Collaborator

maintainer merge

@github-actions
Copy link

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

Copy link
Member

@jcommelin jcommelin left a comment

Choose a reason for hiding this comment

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

Thanks 🎉

bors merge

@leanprover-community-bot-assistant leanprover-community-bot-assistant added ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) and removed awaiting-review The author would like community review of the PR labels Dec 19, 2022
bors bot pushed a commit that referenced this pull request Dec 19, 2022
…s polynomials and prove basic facts (#17631)

Define the Weierstrass polynomial and its partial derivatives, as well as properties of their evaluations (the Weierstrass equation and nonsingularity). Prove that a Weierstrass curve is nonsingular at every point if its discriminant is non-zero, and its coordinate ring is an integral domain (because the associated polynomial is irreducible). Fix minor issues (rename the variable `C` with the variable `W` to avoid a clash with `polynomial.C`, and generalise `two_torsion_polynomial_disc_ne_zero`).



Co-authored-by: Junyan Xu <junyanxumath@gmail.com>
@bors
Copy link

bors bot commented Dec 19, 2022

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(algebraic_geometry/EllipticCurve/weierstrass): define Weierstrass polynomials and prove basic facts [Merged by Bors] - feat(algebraic_geometry/EllipticCurve/weierstrass): define Weierstrass polynomials and prove basic facts Dec 19, 2022
@bors bors bot closed this Dec 19, 2022
@bors bors bot deleted the weierstrass_polynomial branch December 19, 2022 11:06
bors bot pushed a commit that referenced this pull request Feb 10, 2023
…ational points (#17194)

- [x] depends on: #17631 
- [x] depends on: #17700
- [x] depends on: #17911 



Co-authored-by: Junyan Xu <junyanxumath@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) t-algebraic-geometry Algebraic geometry t-number-theory Number theory (also use t-algebra or t-analysis to specialize)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants