@@ -4,7 +4,6 @@ Released under Apache 2.0 license as described in the file LICENSE.
4
4
Authors: David Kurniadi Angdinata
5
5
-/
6
6
import Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian
7
- import Mathlib.AlgebraicGeometry.EllipticCurve.Projective
8
7
import Mathlib.LinearAlgebra.FreeModule.Norm
9
8
import Mathlib.RingTheory.ClassGroup
10
9
import Mathlib.RingTheory.Polynomial.UniqueFactorization
@@ -13,9 +12,8 @@ import Mathlib.RingTheory.Polynomial.UniqueFactorization
13
12
# Group law on Weierstrass curves
14
13
15
14
This file proves that the nonsingular rational points on a Weierstrass curve form an abelian group
16
- under the geometric group law defined in `Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean`, in
17
- `Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean`, and in
18
- `Mathlib/AlgebraicGeometry/EllipticCurve/Projective.lean`.
15
+ under the geometric group law defined in `Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean` and
16
+ in `Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean`.
19
17
20
18
## Mathematical background
21
19
@@ -38,9 +36,6 @@ auxiliary lemmas in the proof of `WeierstrassCurve.Affine.Point.instAddCommGroup
38
36
When `W` is given in Jacobian coordinates, `WeierstrassCurve.Jacobian.Point.toAffineAddEquiv` pulls
39
37
back the group law on `WeierstrassCurve.Affine.Point` to `WeierstrassCurve.Jacobian.Point`.
40
38
41
- When `W` is given in projective coordinates, `WeierstrassCurve.Projective.Point.toAffineAddEquiv`
42
- pulls back the group law on `WeierstrassCurve.Affine.Point` to `WeierstrassCurve.Projective.Point`.
43
-
44
39
## Main definitions
45
40
46
41
* `WeierstrassCurve.Affine.CoordinateRing`: the coordinate ring `F[W]` of a Weierstrass curve `W`.
@@ -56,8 +51,6 @@ pulls back the group law on `WeierstrassCurve.Affine.Point` to `WeierstrassCurve
56
51
coordinates forms an abelian group under addition.
57
52
* `WeierstrassCurve.Jacobian.Point.instAddCommGroup`: the type of nonsingular points on a
58
53
Weierstrass curve in Jacobian coordinates forms an abelian group under addition.
59
- * `WeierstrassCurve.Projective.Point.instAddCommGroup`: the type of nonsingular points on a
60
- Weierstrass curve in projective coordinates forms an abelian group under addition.
61
54
62
55
## References
63
56
@@ -565,26 +558,6 @@ end Point
565
558
566
559
end WeierstrassCurve.Affine
567
560
568
- namespace WeierstrassCurve.Projective.Point
569
-
570
- /-! ## Weierstrass curves in projective coordinates -/
571
-
572
- variable {F : Type u} [Field F] {W : Projective F}
573
-
574
- noncomputable instance : AddCommGroup W.Point where
575
- nsmul := nsmulRec
576
- zsmul := zsmulRec
577
- zero_add _ := (toAffineAddEquiv W).injective <| by
578
- simp only [map_add, toAffineAddEquiv_apply, toAffineLift_zero, zero_add]
579
- add_zero _ := (toAffineAddEquiv W).injective <| by
580
- simp only [map_add, toAffineAddEquiv_apply, toAffineLift_zero, add_zero]
581
- neg_add_cancel P := (toAffineAddEquiv W).injective <| by
582
- simp only [map_add, toAffineAddEquiv_apply, toAffineLift_neg, neg_add_cancel, toAffineLift_zero]
583
- add_comm _ _ := (toAffineAddEquiv W).injective <| by simp only [map_add, add_comm]
584
- add_assoc _ _ _ := (toAffineAddEquiv W).injective <| by simp only [map_add, add_assoc]
585
-
586
- end WeierstrassCurve.Projective.Point
587
-
588
561
namespace WeierstrassCurve.Jacobian.Point
589
562
590
563
/-! ## Weierstrass curves in Jacobian coordinates -/
0 commit comments