Skip to content

feat(AlgebraicGeometry/EllipticCurve): improve API for maps and base changes#36328

Open
Multramate wants to merge 4 commits intoleanprover-community:masterfrom
Multramate:EllipticCurve.baseChange
Open

feat(AlgebraicGeometry/EllipticCurve): improve API for maps and base changes#36328
Multramate wants to merge 4 commits intoleanprover-community:masterfrom
Multramate:EllipticCurve.baseChange

Conversation

@Multramate
Copy link
Copy Markdown
Collaborator

@Multramate Multramate commented Mar 7, 2026

Dot notation for concrete Weierstrass curves (Affine/Jacobian/Projective) does not quite work on W : WeierstrassCurve F even though they're all abbreviations of WeierstrassCurve, which is annoying for functions that return WeierstrassCurves (currently just map, baseChange, and variableChange). For instance, for an A : Affine F, the expression A.baseChange K is a WeierstrassCurve K rather than an Affine K, so (A.baseChange K).polynomial will not work since polynomial is a function of Affine K rather than WeierstrassCurve K; instead we have to do (A.baseChange K).toAffine.polynomial, which is wordy. This PR introduces abbreviations Affine/Jacobian/Projective.map/baseChange to get around this, and introduces scoped notations W/K, where the slashes are given by \textf. The notation W⟮K⟯ for (W.baseChange K)Point seems to be useless so far and can now be replaced by (W/K).Point.


Open in Gitpod

@github-actions github-actions bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Mar 7, 2026
@Multramate Multramate added the t-algebraic-geometry Algebraic geometry label Mar 7, 2026
@github-actions github-actions bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Mar 7, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 7, 2026

PR summary bf66be1a70

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+++ map_baseChange
++++-+- map
+++--- baseChange_equation
+++--- baseChange_negY
+++--- baseChange_nonsingular
+++--- map_addX
+++--- map_addY
+++--- map_equation
+++--- map_negAddY
+++--- map_negY
+++--- map_nonsingular
++-+-- map_polynomialX
++-+-- map_polynomialY
++-- baseChange_dblX
++-- baseChange_dblY
++-- baseChange_dblZ
++-- map_addXYZ
++-- map_dblX
++-- map_dblXYZ
++-- map_dblY
++-- map_dblZ
++-- map_neg
++-- map_negDblY
++-- map_polynomialZ
++--+- map_polynomial
+-+- map_dblU
-++- baseChange_dblXYZ
-++- baseChange_negDblY
-+--+++++ baseChange
--++ baseChange_addXYZ
--++ baseChange_polynomialZ
--++ comp_fin3
--+++- Equation.map
--++-+ baseChange_polynomial
--++-+ baseChange_polynomialX
--++-+ baseChange_polynomialY
---+++ Equation.baseChange
---+++ baseChange_addX
---+++ baseChange_addY
---+++ baseChange_negAddY

You can run this locally as follows
## summary with just the declaration names:
./scripts/pr_summary/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/pr_summary/declarations_diff.sh long <optional_commit>

The doc-module for scripts/pr_summary/declarations_diff.sh contains some details about this script.


No changes to technical debt.

You can run this locally as

./scripts/reporting/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

t-algebraic-geometry Algebraic geometry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants