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] - refactor(AlgebraicGeometry/EllipticCurve/*): split EllipticCurve.Point into two files #8540
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Multramate
added
documentation
Improvements or additions to documentation
awaiting-review
The author would like community review of the PR
awaiting-CI
t-number-theory
Number theory (also use t-algebra or t-analysis to specialize)
t-algebraic-geometry
Algebraic geometry
labels
Nov 20, 2023
alexjbest
added
awaiting-author
A reviewer has asked the author a question or requested changes
and removed
awaiting-review
The author would like community review of the PR
labels
Nov 20, 2023
Please fix Mathlib.lean |
Multramate
added
awaiting-review
The author would like community review of the PR
and removed
awaiting-author
A reviewer has asked the author a question or requested changes
labels
Nov 20, 2023
jcommelin
approved these changes
Dec 4, 2023
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 🎉
bors merge
leanprover-community-mathlib4-bot
added
ready-to-merge
This PR has been sent to bors.
and removed
awaiting-review
The author would like community review of the PR
labels
Dec 4, 2023
mathlib-bors bot
pushed a commit
that referenced
this pull request
Dec 4, 2023
…t into two files (#8540) Refactor the files in `AlgebraicGeometry/EllipticCurve/*` as follows: - `Weierstrass.lean` contains general definitions common to all Weierstrass and elliptic curves, namely quantities associated to their coefficients, variable and base changes, and models with prescribed j-invariants. - `Affine.lean` contains definitions specific to Weierstrass curves written in affine coordinates, including `equation` and `nonsingular` from the old `Weierstrass.lean`, but also the `Point` inductive and group operations from the old `Point.lean`. - `Group.lean` contains a standalone proof of the group law for `Point`, including instances for `CoordinateRing` in the old `Weierstrass.lean`, and ideal computations in its `ClassGroup` in the old `Point.lean`. This refactor is done in preparation for the new `Projective.lean` in #8485 (and the upcoming `Jacobian.lean`), which shares all the general definitions in `Weierstrass.lean`, but none of those in `Affine.lean` and `Group.lean` except their proofs (analogous lemmas are proven by "reducing to the affine case"). Most of the definitions and lemmas for `equation`, `nonsingular`, `CoordinateRing`, and `ClassGroup` are specific to the affine representation of Weierstrass curves, so they are now in the `WeierstrassCurve.Affine` namespace, which is just an abbreviation for `WeierstrassCurve`. Further documentation is added to `Group.lean` to explain the argument for the group law, but otherwise few things are changed from the original files.
Build failed (retrying...): |
mathlib-bors bot
pushed a commit
that referenced
this pull request
Dec 4, 2023
…t into two files (#8540) Refactor the files in `AlgebraicGeometry/EllipticCurve/*` as follows: - `Weierstrass.lean` contains general definitions common to all Weierstrass and elliptic curves, namely quantities associated to their coefficients, variable and base changes, and models with prescribed j-invariants. - `Affine.lean` contains definitions specific to Weierstrass curves written in affine coordinates, including `equation` and `nonsingular` from the old `Weierstrass.lean`, but also the `Point` inductive and group operations from the old `Point.lean`. - `Group.lean` contains a standalone proof of the group law for `Point`, including instances for `CoordinateRing` in the old `Weierstrass.lean`, and ideal computations in its `ClassGroup` in the old `Point.lean`. This refactor is done in preparation for the new `Projective.lean` in #8485 (and the upcoming `Jacobian.lean`), which shares all the general definitions in `Weierstrass.lean`, but none of those in `Affine.lean` and `Group.lean` except their proofs (analogous lemmas are proven by "reducing to the affine case"). Most of the definitions and lemmas for `equation`, `nonsingular`, `CoordinateRing`, and `ClassGroup` are specific to the affine representation of Weierstrass curves, so they are now in the `WeierstrassCurve.Affine` namespace, which is just an abbreviation for `WeierstrassCurve`. Further documentation is added to `Group.lean` to explain the argument for the group law, but otherwise few things are changed from the original files.
Build failed (retrying...): |
mathlib-bors bot
pushed a commit
that referenced
this pull request
Dec 4, 2023
…t into two files (#8540) Refactor the files in `AlgebraicGeometry/EllipticCurve/*` as follows: - `Weierstrass.lean` contains general definitions common to all Weierstrass and elliptic curves, namely quantities associated to their coefficients, variable and base changes, and models with prescribed j-invariants. - `Affine.lean` contains definitions specific to Weierstrass curves written in affine coordinates, including `equation` and `nonsingular` from the old `Weierstrass.lean`, but also the `Point` inductive and group operations from the old `Point.lean`. - `Group.lean` contains a standalone proof of the group law for `Point`, including instances for `CoordinateRing` in the old `Weierstrass.lean`, and ideal computations in its `ClassGroup` in the old `Point.lean`. This refactor is done in preparation for the new `Projective.lean` in #8485 (and the upcoming `Jacobian.lean`), which shares all the general definitions in `Weierstrass.lean`, but none of those in `Affine.lean` and `Group.lean` except their proofs (analogous lemmas are proven by "reducing to the affine case"). Most of the definitions and lemmas for `equation`, `nonsingular`, `CoordinateRing`, and `ClassGroup` are specific to the affine representation of Weierstrass curves, so they are now in the `WeierstrassCurve.Affine` namespace, which is just an abbreviation for `WeierstrassCurve`. Further documentation is added to `Group.lean` to explain the argument for the group law, but otherwise few things are changed from the original files.
Pull request successfully merged into master. Build succeeded: |
mathlib-bors
bot
changed the title
refactor(AlgebraicGeometry/EllipticCurve/*): split EllipticCurve.Point into two files
[Merged by Bors] - refactor(AlgebraicGeometry/EllipticCurve/*): split EllipticCurve.Point into two files
Dec 4, 2023
awueth
pushed a commit
that referenced
this pull request
Dec 19, 2023
…t into two files (#8540) Refactor the files in `AlgebraicGeometry/EllipticCurve/*` as follows: - `Weierstrass.lean` contains general definitions common to all Weierstrass and elliptic curves, namely quantities associated to their coefficients, variable and base changes, and models with prescribed j-invariants. - `Affine.lean` contains definitions specific to Weierstrass curves written in affine coordinates, including `equation` and `nonsingular` from the old `Weierstrass.lean`, but also the `Point` inductive and group operations from the old `Point.lean`. - `Group.lean` contains a standalone proof of the group law for `Point`, including instances for `CoordinateRing` in the old `Weierstrass.lean`, and ideal computations in its `ClassGroup` in the old `Point.lean`. This refactor is done in preparation for the new `Projective.lean` in #8485 (and the upcoming `Jacobian.lean`), which shares all the general definitions in `Weierstrass.lean`, but none of those in `Affine.lean` and `Group.lean` except their proofs (analogous lemmas are proven by "reducing to the affine case"). Most of the definitions and lemmas for `equation`, `nonsingular`, `CoordinateRing`, and `ClassGroup` are specific to the affine representation of Weierstrass curves, so they are now in the `WeierstrassCurve.Affine` namespace, which is just an abbreviation for `WeierstrassCurve`. Further documentation is added to `Group.lean` to explain the argument for the group law, but otherwise few things are changed from the original files.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
documentation
Improvements or additions to documentation
ready-to-merge
This PR has been sent to bors.
t-algebraic-geometry
Algebraic geometry
t-number-theory
Number theory (also use t-algebra or t-analysis to specialize)
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Refactor the files in
AlgebraicGeometry/EllipticCurve/*
as follows:Weierstrass.lean
contains general definitions common to all Weierstrass and elliptic curves, namely quantities associated to their coefficients, variable and base changes, and models with prescribed j-invariants.Affine.lean
contains definitions specific to Weierstrass curves written in affine coordinates, includingequation
andnonsingular
from the oldWeierstrass.lean
, but also thePoint
inductive and group operations from the oldPoint.lean
.Group.lean
contains a standalone proof of the group law forPoint
, including instances forCoordinateRing
in the oldWeierstrass.lean
, and ideal computations in itsClassGroup
in the oldPoint.lean
.This refactor is done in preparation for the new
Projective.lean
in #8485 (and the upcomingJacobian.lean
), which shares all the general definitions inWeierstrass.lean
, but none of those inAffine.lean
andGroup.lean
except their proofs (analogous lemmas are proven by "reducing to the affine case"). Most of the definitions and lemmas forequation
,nonsingular
,CoordinateRing
, andClassGroup
are specific to the affine representation of Weierstrass curves, so they are now in theWeierstrassCurve.Affine
namespace, which is just an abbreviation forWeierstrassCurve
. Further documentation is added toGroup.lean
to explain the argument for the group law, but otherwise few things are changed from the original files.