Loogle!
Result
Found 136 declarations mentioning WeierstrassCurve.Affine.Point.
- WeierstrassCurve.Affine.Point π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] (W' : WeierstrassCurve.Affine R) : Type r - WeierstrassCurve.Affine.Point.zero π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} : W'.Point - WeierstrassCurve.Affine.Point.instInhabited π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} : Inhabited W'.Point - WeierstrassCurve.Affine.Point.instInvolutiveNeg π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} : InvolutiveNeg W'.Point - WeierstrassCurve.Affine.Point.instNeg π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} : Neg W'.Point - WeierstrassCurve.Affine.Point.instZero π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} : Zero W'.Point - WeierstrassCurve.Affine.instDecidableEqPoint π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{Rβ : Type u_1} {instβ : CommRing Rβ} {W'β : WeierstrassCurve.Affine Rβ} [DecidableEq Rβ] : DecidableEq W'β.Point - WeierstrassCurve.Affine.Point.neg π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} : W'.Point β W'.Point - WeierstrassCurve.Affine.Point.instAdd π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] : Add W.Point - WeierstrassCurve.Affine.Point.instAddCommGroup π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] : AddCommGroup W.Point - WeierstrassCurve.Affine.Point.instAddCommSemigroup π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] : AddCommSemigroup W.Point - WeierstrassCurve.Affine.Point.instAddZeroClass π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] : AddZeroClass W.Point - WeierstrassCurve.Affine.Point.xRep π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} : W'.Point β Fin 2 β R - WeierstrassCurve.Affine.Point.some π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} (x y : R) (h : W'.Nonsingular x y) : W'.Point - WeierstrassCurve.Affine.Point.mk π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} [Nontrivial R] [WeierstrassCurve.IsElliptic W'] {x y : R} (h : W'.Equation x y) : W'.Point - WeierstrassCurve.Affine.instDecidableEqPoint.decEq π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{Rβ : Type u_1} {instβ : CommRing Rβ} {W'β : WeierstrassCurve.Affine Rβ} [DecidableEq Rβ] (xβ xβΒΉ : W'β.Point) : Decidable (xβ = xβΒΉ) - WeierstrassCurve.Affine.Point.add π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] : W.Point β W.Point β W.Point - WeierstrassCurve.Affine.Point.neg_def π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} (P : W'.Point) : -P = P.neg - WeierstrassCurve.Affine.Point.zero_def π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} : 0 = WeierstrassCurve.Affine.Point.zero - WeierstrassCurve.Affine.nonsingularPointEquiv π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] (W' : WeierstrassCurve.Affine R) : W'.Point β WithZero { xy // W'.Nonsingular xy.1 xy.2 } - WeierstrassCurve.Affine.pointEquiv π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] (W' : WeierstrassCurve.Affine R) [Nontrivial R] [WeierstrassCurve.IsElliptic W'] : W'.Point β WithZero { xy // W'.Equation xy.1 xy.2 } - WeierstrassCurve.Affine.Point.xRep_neg π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} (P : W'.Point) : (-P).xRep = P.xRep - WeierstrassCurve.Affine.Point.some_ne_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} {x y : R} (h : W'.Nonsingular x y) : WeierstrassCurve.Affine.Point.some x y h β 0 - WeierstrassCurve.Affine.Point.neg_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} : -0 = 0 - WeierstrassCurve.Affine.finite_preimage_xRep0 π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} (x : F) : {P | P.xRep 0 = x}.Finite - WeierstrassCurve.Affine.Point.add_def π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] (P Q : W.Point) : P + Q = P.add Q - WeierstrassCurve.Affine.Point.neg_some π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} {x y : R} (h : W'.Nonsingular x y) : -WeierstrassCurve.Affine.Point.some x y h = WeierstrassCurve.Affine.Point.some x (W'.negY x y) β― - WeierstrassCurve.Affine.Point.xRep_ne_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} [Nontrivial R] (P : W'.Point) : P.xRep β 0 - WeierstrassCurve.Affine.Point.eq_or_eq_neg_of_xRep_eq_xRep π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} {P Q : W.Point} (h : P.xRep = Q.xRep) : P = Q β¨ P = -Q - WeierstrassCurve.Affine.Point.xRep_eq_xRep_iff π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} {P Q : W.Point} : P.xRep = Q.xRep β P = Q β¨ P = -Q - WeierstrassCurve.Affine.nonsingularPointEquivSubtype π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} {p : W'.Point β Prop} (p0 : p WeierstrassCurve.Affine.Point.zero) : { P // p P } β WithZero { xy // β (h : W'.Nonsingular xy.1 xy.2), p (WeierstrassCurve.Affine.Point.some xy.1 xy.2 h) } - WeierstrassCurve.Affine.finite_preimage_xRep π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} (x : F) : {P | P.xRep = ![x, 1]}.Finite - WeierstrassCurve.Affine.Point.xRep_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} : WeierstrassCurve.Affine.Point.xRep 0 = ![1, 0] - WeierstrassCurve.Affine.pointEquivSubtype π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} [Nontrivial R] [WeierstrassCurve.IsElliptic W'] {p : W'.Point β Prop} (p0 : p WeierstrassCurve.Affine.Point.zero) : { P // p P } β WithZero { xy // β (h : W'.Equation xy.1 xy.2), p (WeierstrassCurve.Affine.Point.mk h) } - WeierstrassCurve.Affine.Point.X_eq_iff π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} {xβ yβ xβ yβ : F} {hβ : W.Nonsingular xβ yβ} {hβ : W.Nonsingular xβ yβ} : xβ = xβ β WeierstrassCurve.Affine.Point.some xβ yβ hβ = WeierstrassCurve.Affine.Point.some xβ yβ hβ β¨ WeierstrassCurve.Affine.Point.some xβ yβ hβ = -WeierstrassCurve.Affine.Point.some xβ yβ hβ - WeierstrassCurve.Affine.Point.add_self_of_Y_eq π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] {xβ yβ : F} {hβ : W.Nonsingular xβ yβ} (hy : yβ = W.negY xβ yβ) : WeierstrassCurve.Affine.Point.some xβ yβ hβ + WeierstrassCurve.Affine.Point.some xβ yβ hβ = 0 - WeierstrassCurve.Affine.Point.add_of_Y_eq π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] {xβ xβ yβ yβ : F} {hβ : W.Nonsingular xβ yβ} {hβ : W.Nonsingular xβ yβ} (hx : xβ = xβ) (hy : yβ = W.negY xβ yβ) : WeierstrassCurve.Affine.Point.some xβ yβ hβ + WeierstrassCurve.Affine.Point.some xβ yβ hβ = 0 - WeierstrassCurve.Affine.Point.isRoot_twoTorsionPolynomial_of_add_self π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] {x y : F} (h : W.Nonsingular x y) (hP : WeierstrassCurve.Affine.Point.some x y h + WeierstrassCurve.Affine.Point.some x y h = 0) : (WeierstrassCurve.twoTorsionPolynomial W).toPoly.IsRoot x - WeierstrassCurve.Affine.Point.xRep_add_self_of_Y_eq π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] {x y : F} (h : W.Nonsingular x y) (hn : y = W.negY x y) : (WeierstrassCurve.Affine.Point.some x y h + WeierstrassCurve.Affine.Point.some x y h).xRep = ![1, 0] - WeierstrassCurve.Affine.Point.add_some π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] {xβ xβ yβ yβ : F} (hxy : Β¬(xβ = xβ β§ yβ = W.negY xβ yβ)) {hβ : W.Nonsingular xβ yβ} {hβ : W.Nonsingular xβ yβ} : WeierstrassCurve.Affine.Point.some xβ yβ hβ + WeierstrassCurve.Affine.Point.some xβ yβ hβ = WeierstrassCurve.Affine.Point.some (W.addX xβ xβ (W.slope xβ xβ yβ yβ)) (W.addY xβ xβ yβ (W.slope xβ xβ yβ yβ)) β― - WeierstrassCurve.Affine.Point.add_self_of_Y_ne π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] {xβ yβ : F} {hβ : W.Nonsingular xβ yβ} (hy : yβ β W.negY xβ yβ) : WeierstrassCurve.Affine.Point.some xβ yβ hβ + WeierstrassCurve.Affine.Point.some xβ yβ hβ = WeierstrassCurve.Affine.Point.some (W.addX xβ xβ (W.slope xβ xβ yβ yβ)) (W.addY xβ xβ yβ (W.slope xβ xβ yβ yβ)) β― - WeierstrassCurve.Affine.Point.add_of_X_ne π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] {xβ xβ yβ yβ : F} {hβ : W.Nonsingular xβ yβ} {hβ : W.Nonsingular xβ yβ} (hx : xβ β xβ) : WeierstrassCurve.Affine.Point.some xβ yβ hβ + WeierstrassCurve.Affine.Point.some xβ yβ hβ = WeierstrassCurve.Affine.Point.some (W.addX xβ xβ (W.slope xβ xβ yβ yβ)) (W.addY xβ xβ yβ (W.slope xβ xβ yβ yβ)) β― - WeierstrassCurve.Affine.Point.add_of_Y_ne π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] {xβ xβ yβ yβ : F} {hβ : W.Nonsingular xβ yβ} {hβ : W.Nonsingular xβ yβ} (hy : yβ β W.negY xβ yβ) : WeierstrassCurve.Affine.Point.some xβ yβ hβ + WeierstrassCurve.Affine.Point.some xβ yβ hβ = WeierstrassCurve.Affine.Point.some (W.addX xβ xβ (W.slope xβ xβ yβ yβ)) (W.addY xβ xβ yβ (W.slope xβ xβ yβ yβ)) β― - WeierstrassCurve.Affine.nonsingularPointEquiv_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} : W'.nonsingularPointEquiv WeierstrassCurve.Affine.Point.zero = none - WeierstrassCurve.Affine.Point.add_self_of_Y_ne' π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] {xβ yβ : F} {hβ : W.Nonsingular xβ yβ} (hy : yβ β W.negY xβ yβ) : WeierstrassCurve.Affine.Point.some xβ yβ hβ + WeierstrassCurve.Affine.Point.some xβ yβ hβ = -WeierstrassCurve.Affine.Point.some (W.addX xβ xβ (W.slope xβ xβ yβ yβ)) (W.negAddY xβ xβ yβ (W.slope xβ xβ yβ yβ)) β― - WeierstrassCurve.Affine.Point.add_of_X_ne' π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] {xβ xβ yβ yβ : F} {hβ : W.Nonsingular xβ yβ} {hβ : W.Nonsingular xβ yβ} (hx : xβ β xβ) : WeierstrassCurve.Affine.Point.some xβ yβ hβ + WeierstrassCurve.Affine.Point.some xβ yβ hβ = -WeierstrassCurve.Affine.Point.some (W.addX xβ xβ (W.slope xβ xβ yβ yβ)) (W.negAddY xβ xβ yβ (W.slope xβ xβ yβ yβ)) β― - WeierstrassCurve.Affine.Point.baseChange π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} (F : Type u) (K : Type v) [CommRing R] [Field F] [Field K] {W' : WeierstrassCurve.Affine R} [DecidableEq F] [DecidableEq K] [Algebra R F] [Algebra R K] [Algebra F K] [IsScalarTower R F K] : (W'.baseChange F).Point β+ (W'.baseChange K).Point - WeierstrassCurve.Affine.pointEquiv_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} [Nontrivial R] [WeierstrassCurve.IsElliptic W'] : W'.pointEquiv WeierstrassCurve.Affine.Point.zero = none - WeierstrassCurve.Affine.Point.add_of_Y_ne' π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] {xβ xβ yβ yβ : F} {hβ : W.Nonsingular xβ yβ} {hβ : W.Nonsingular xβ yβ} (hy : yβ β W.negY xβ yβ) : WeierstrassCurve.Affine.Point.some xβ yβ hβ + WeierstrassCurve.Affine.Point.some xβ yβ hβ = -WeierstrassCurve.Affine.Point.some (W.addX xβ xβ (W.slope xβ xβ yβ yβ)) (W.negAddY xβ xβ yβ (W.slope xβ xβ yβ yβ)) β― - WeierstrassCurve.Affine.Point.isRoot_twoTorsionPolynomial_iff π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] (h2 : NeZero 2) (hΞ : WeierstrassCurve.Ξ W β 0) (x : F) : (WeierstrassCurve.twoTorsionPolynomial W).toPoly.IsRoot x β β y, β (h : W.Nonsingular x y), WeierstrassCurve.Affine.Point.some x y h + WeierstrassCurve.Affine.Point.some x y h = 0 - WeierstrassCurve.Affine.nonsingularPointEquiv_symm_none π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} : W'.nonsingularPointEquiv.symm none = WeierstrassCurve.Affine.Point.zero - WeierstrassCurve.Affine.pointEquiv_symm_none π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} [Nontrivial R] [WeierstrassCurve.IsElliptic W'] : W'.pointEquiv.symm none = WeierstrassCurve.Affine.Point.zero - WeierstrassCurve.Affine.nonsingularPointEquiv_some π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} {x y : R} (h : W'.Nonsingular x y) : W'.nonsingularPointEquiv (WeierstrassCurve.Affine.Point.some x y h) = some β¨(x, y), hβ© - WeierstrassCurve.Affine.pointEquiv_some π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} [Nontrivial R] [WeierstrassCurve.IsElliptic W'] {x y : R} (h : W'.Equation x y) : W'.pointEquiv (WeierstrassCurve.Affine.Point.mk h) = some β¨(x, y), hβ© - WeierstrassCurve.Affine.nonsingularPointEquiv_symm_some π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} {x y : R} (h : W'.Nonsingular x y) : W'.nonsingularPointEquiv.symm (some β¨(x, y), hβ©) = WeierstrassCurve.Affine.Point.some x y h - WeierstrassCurve.Affine.pointEquiv_symm_some π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} [Nontrivial R] [WeierstrassCurve.IsElliptic W'] {x y : R} (h : W'.Equation x y) : W'.pointEquiv.symm (some β¨(x, y), hβ©) = WeierstrassCurve.Affine.Point.mk h - WeierstrassCurve.Affine.Point.map π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} {S : Type s} {F : Type u} {K : Type v} [CommRing R] [CommRing S] [Field F] [Field K] {W' : WeierstrassCurve.Affine R} [DecidableEq F] [DecidableEq K] [Algebra R S] [Algebra R F] [Algebra S F] [IsScalarTower R S F] [Algebra R K] [Algebra S K] [IsScalarTower R S K] (f : F ββ[S] K) : (W'.baseChange F).Point β+ (W'.baseChange K).Point - WeierstrassCurve.Affine.Point.toClass π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] : W.Point β+ Additive (ClassGroup W.CoordinateRing) - WeierstrassCurve.Affine.Point.map_id π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} {F : Type u} [CommRing R] [Field F] {W' : WeierstrassCurve.Affine R} [DecidableEq F] [Algebra R F] (P : (W'.baseChange F).Point) : (WeierstrassCurve.Affine.Point.map (Algebra.ofId F F)) P = P - WeierstrassCurve.Affine.nonsingularPointEquivSubtype_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} {p : W'.Point β Prop} (p0 : p WeierstrassCurve.Affine.Point.zero) : (WeierstrassCurve.Affine.nonsingularPointEquivSubtype p0) β¨WeierstrassCurve.Affine.Point.zero, p0β© = none - WeierstrassCurve.Affine.Point.xRep_add_of_X_ne π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] {xP yP xQ yQ : F} (hP : W.Nonsingular xP yP) (hQ : W.Nonsingular xQ yQ) (hn : xP β xQ) : (WeierstrassCurve.Affine.Point.some xP yP hP + WeierstrassCurve.Affine.Point.some xQ yQ hQ).xRep = ![((yP - yQ) ^ 2 + W.aβ * (yP - yQ) * (xP - xQ) - (W.aβ + xP + xQ) * (xP - xQ) ^ 2) / (xP - xQ) ^ 2, 1] - WeierstrassCurve.Affine.Point.map_injective π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} {S : Type s} {F : Type u} {K : Type v} [CommRing R] [CommRing S] [Field F] [Field K] {W' : WeierstrassCurve.Affine R} [DecidableEq F] [DecidableEq K] [Algebra R S] [Algebra R F] [Algebra S F] [IsScalarTower R S F] [Algebra R K] [Algebra S K] [IsScalarTower R S K] (f : F ββ[S] K) : Function.Injective β(WeierstrassCurve.Affine.Point.map f) - WeierstrassCurve.Affine.pointEquivSubtype_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} [Nontrivial R] [WeierstrassCurve.IsElliptic W'] {p : W'.Point β Prop} (p0 : p WeierstrassCurve.Affine.Point.zero) : (WeierstrassCurve.Affine.pointEquivSubtype p0) β¨WeierstrassCurve.Affine.Point.zero, p0β© = none - WeierstrassCurve.Affine.nonsingularPointEquivSubtype_symm_none π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} {p : W'.Point β Prop} (p0 : p WeierstrassCurve.Affine.Point.zero) : (WeierstrassCurve.Affine.nonsingularPointEquivSubtype p0).symm none = β¨WeierstrassCurve.Affine.Point.zero, p0β© - WeierstrassCurve.Affine.pointEquivSubtype_symm_none π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} [Nontrivial R] [WeierstrassCurve.IsElliptic W'] {p : W'.Point β Prop} (p0 : p WeierstrassCurve.Affine.Point.zero) : (WeierstrassCurve.Affine.pointEquivSubtype p0).symm none = β¨WeierstrassCurve.Affine.Point.zero, p0β© - WeierstrassCurve.Affine.Point.map_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} {S : Type s} {F : Type u} {K : Type v} [CommRing R] [CommRing S] [Field F] [Field K] {W' : WeierstrassCurve.Affine R} [DecidableEq F] [DecidableEq K] [Algebra R S] [Algebra R F] [Algebra S F] [IsScalarTower R S F] [Algebra R K] [Algebra S K] [IsScalarTower R S K] (f : F ββ[S] K) : (WeierstrassCurve.Affine.Point.map f) 0 = 0 - WeierstrassCurve.Affine.nonsingularPointEquivSubtype_some π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} {x y : R} {h : W'.Nonsingular x y} {p : W'.Point β Prop} (p0 : p WeierstrassCurve.Affine.Point.zero) (ph : p (WeierstrassCurve.Affine.Point.some x y h)) : (WeierstrassCurve.Affine.nonsingularPointEquivSubtype p0) β¨WeierstrassCurve.Affine.Point.some x y h, phβ© = some β¨(x, y), β―β© - WeierstrassCurve.Affine.Point.xRep_sub_of_X_ne π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] {xP yP xQ yQ : F} (hP : W.Nonsingular xP yP) (hQ : W.Nonsingular xQ yQ) (hn : xP β xQ) : (WeierstrassCurve.Affine.Point.some xP yP hP - WeierstrassCurve.Affine.Point.some xQ yQ hQ).xRep = ![((yP + yQ + W.aβ * xQ + W.aβ) ^ 2 + W.aβ * (yP + yQ + W.aβ * xQ + W.aβ) * (xP - xQ) - (W.aβ + xP + xQ) * (xP - xQ) ^ 2) / (xP - xQ) ^ 2, 1] - WeierstrassCurve.Affine.Point.xRep_add_self_of_Y_ne π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] {x y : F} (h : W.Nonsingular x y) (hn : y β W.negY x y) : (WeierstrassCurve.Affine.Point.some x y h + WeierstrassCurve.Affine.Point.some x y h).xRep = ![(x ^ 4 - WeierstrassCurve.bβ W * x ^ 2 - 2 * WeierstrassCurve.bβ W * x - WeierstrassCurve.bβ W) / (4 * x ^ 3 + WeierstrassCurve.bβ W * x ^ 2 + 2 * WeierstrassCurve.bβ W * x + WeierstrassCurve.bβ W), 1] - WeierstrassCurve.Affine.pointEquivSubtype_some π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} [Nontrivial R] [WeierstrassCurve.IsElliptic W'] {x y : R} {h : W'.Equation x y} {p : W'.Point β Prop} (p0 : p WeierstrassCurve.Affine.Point.zero) (ph : p (WeierstrassCurve.Affine.Point.mk h)) : (WeierstrassCurve.Affine.pointEquivSubtype p0) β¨WeierstrassCurve.Affine.Point.mk h, phβ© = some β¨(x, y), β―β© - WeierstrassCurve.Affine.nonsingularPointEquivSubtype_symm_some π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} {x y : R} {h : W'.Nonsingular x y} {p : W'.Point β Prop} (p0 : p WeierstrassCurve.Affine.Point.zero) (ph : p (WeierstrassCurve.Affine.Point.some x y h)) : (WeierstrassCurve.Affine.nonsingularPointEquivSubtype p0).symm (some β¨(x, y), β―β©) = β¨WeierstrassCurve.Affine.Point.some x y h, phβ© - WeierstrassCurve.Affine.pointEquivSubtype_symm_some π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Affine R} [Nontrivial R] [WeierstrassCurve.IsElliptic W'] {x y : R} {h : W'.Equation x y} {p : W'.Point β Prop} (p0 : p WeierstrassCurve.Affine.Point.zero) (ph : p (WeierstrassCurve.Affine.Point.mk h)) : (WeierstrassCurve.Affine.pointEquivSubtype p0).symm (some β¨(x, y), β―β©) = β¨WeierstrassCurve.Affine.Point.mk h, phβ© - WeierstrassCurve.Affine.Point.toClass_injective π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] : Function.Injective βWeierstrassCurve.Affine.Point.toClass - WeierstrassCurve.Affine.Point.map_some π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} {S : Type s} {F : Type u} {K : Type v} [CommRing R] [CommRing S] [Field F] [Field K] {W' : WeierstrassCurve.Affine R} [DecidableEq F] [DecidableEq K] [Algebra R S] [Algebra R F] [Algebra S F] [IsScalarTower R S F] [Algebra R K] [Algebra S K] [IsScalarTower R S K] (f : F ββ[S] K) {x y : F} (h : (W'.baseChange F).Nonsingular x y) : (WeierstrassCurve.Affine.Point.map f) (WeierstrassCurve.Affine.Point.some x y h) = WeierstrassCurve.Affine.Point.some (f x) (f y) β― - WeierstrassCurve.Affine.Point.map_baseChange π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} {F : Type u} {K : Type v} {L : Type w} [CommRing R] [Field F] [Field K] [Field L] {W' : WeierstrassCurve.Affine R} [DecidableEq F] [DecidableEq K] [DecidableEq L] [Algebra R F] [Algebra R K] [Algebra R L] [Algebra F K] [IsScalarTower R F K] [Algebra F L] [IsScalarTower R F L] (f : K ββ[F] L) (P : (W'.baseChange F).Point) : (WeierstrassCurve.Affine.Point.map f) ((WeierstrassCurve.Affine.Point.baseChange F K) P) = (WeierstrassCurve.Affine.Point.baseChange F L) P - WeierstrassCurve.Affine.Point.map_map π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} {S : Type s} {F : Type u} {K : Type v} {L : Type w} [CommRing R] [CommRing S] [Field F] [Field K] [Field L] {W' : WeierstrassCurve.Affine R} [DecidableEq F] [DecidableEq K] [DecidableEq L] [Algebra R S] [Algebra R F] [Algebra S F] [IsScalarTower R S F] [Algebra R K] [Algebra S K] [IsScalarTower R S K] [Algebra R L] [Algebra S L] [IsScalarTower R S L] (f : F ββ[S] K) (g : K ββ[S] L) (P : (W'.baseChange F).Point) : (WeierstrassCurve.Affine.Point.map g) ((WeierstrassCurve.Affine.Point.map f) P) = (WeierstrassCurve.Affine.Point.map (g.comp f)) P - WeierstrassCurve.Affine.Point.toClass_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] : WeierstrassCurve.Affine.Point.toClass 0 = 0 - WeierstrassCurve.Affine.Point.toClass_eq_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] (P : W.Point) : WeierstrassCurve.Affine.Point.toClass P = 0 β P = 0 - WeierstrassCurve.Affine.Point.toClass_apply π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] (P : W.Point) : WeierstrassCurve.Affine.Point.toClass P = match P with | WeierstrassCurve.Affine.Point.zero => 0 | WeierstrassCurve.Affine.Point.some x y h => (ClassGroup.mk W.FunctionField) (WeierstrassCurve.Affine.CoordinateRing.XYIdeal' h) - WeierstrassCurve.Affine.Point.toClass_some π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] {x y : F} (h : W.Nonsingular x y) : WeierstrassCurve.Affine.Point.toClass (WeierstrassCurve.Affine.Point.some x y h) = (ClassGroup.mk W.FunctionField) (WeierstrassCurve.Affine.CoordinateRing.XYIdeal' h) - WeierstrassCurve.Affine.Point.sym2x π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.AddSubMap
{R : Type u_1} [CommRing R] {W' : WeierstrassCurve.Affine R} (P Q : W'.Point) : Fin 3 β R - WeierstrassCurve.Affine.Point.sym2x_comm π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.AddSubMap
{R : Type u_1} [CommRing R] {W' : WeierstrassCurve.Affine R} (P Q : W'.Point) : P.sym2x Q = Q.sym2x P - WeierstrassCurve.Affine.Point.sym2x_neg_left π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.AddSubMap
{R : Type u_1} [CommRing R] {W' : WeierstrassCurve.Affine R} (P Q : W'.Point) : (-P).sym2x Q = P.sym2x Q - WeierstrassCurve.Affine.Point.sym2x_neg_right π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.AddSubMap
{R : Type u_1} [CommRing R] {W' : WeierstrassCurve.Affine R} (P Q : W'.Point) : P.sym2x (-Q) = P.sym2x Q - WeierstrassCurve.Affine.Point.sym2x_ne_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.AddSubMap
{R : Type u_1} [CommRing R] {W' : WeierstrassCurve.Affine R} [Nontrivial R] (P Q : W'.Point) : P.sym2x Q β 0 - WeierstrassCurve.Affine.Point.sym2x_some_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.AddSubMap
{R : Type u_1} [CommRing R] {W' : WeierstrassCurve.Affine R} {x y : R} (h : W'.Nonsingular x y) : (WeierstrassCurve.Affine.Point.some x y h).sym2x 0 = ![x, 1, 0] - WeierstrassCurve.Affine.Point.sym2x_zero_some π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.AddSubMap
{R : Type u_1} [CommRing R] {W' : WeierstrassCurve.Affine R} {x y : R} (h : W'.Nonsingular x y) : WeierstrassCurve.Affine.Point.sym2x 0 (WeierstrassCurve.Affine.Point.some x y h) = ![x, 1, 0] - WeierstrassCurve.Affine.Point.sym2x_zero_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.AddSubMap
{R : Type u_1} [CommRing R] {W' : WeierstrassCurve.Affine R} : WeierstrassCurve.Affine.Point.sym2x 0 0 = ![1, 0, 0] - WeierstrassCurve.Affine.Point.toJacobian π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{R : Type r} [CommRing R] [Nontrivial R] {W : WeierstrassCurve.Affine R} (P : W.Point) : (WeierstrassCurve.toJacobian W).Point - WeierstrassCurve.Jacobian.Point.fromAffine π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Jacobian R} [Nontrivial R] : W'.toAffine.Point β W'.Point - WeierstrassCurve.Jacobian.Point.toAffineLift π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} (P : W.Point) : W.toAffine.Point - WeierstrassCurve.Jacobian.Point.toAffine π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] (W : WeierstrassCurve.Jacobian F) (P : Fin 3 β F) : W.toAffine.Point - WeierstrassCurve.Jacobian.Point.toAffineAddEquiv π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] (W : WeierstrassCurve.Jacobian F) [DecidableEq F] : W.Point β+ W.toAffine.Point - WeierstrassCurve.Jacobian.Point.fromAffine_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Jacobian R} [Nontrivial R] : WeierstrassCurve.Jacobian.Point.fromAffine 0 = 0 - WeierstrassCurve.Jacobian.Point.toAffineLift_neg π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} (P : W.Point) : (-P).toAffineLift = -P.toAffineLift - WeierstrassCurve.Jacobian.Point.toAffine_neg π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {P : Fin 3 β F} (hP : W.Nonsingular P) : WeierstrassCurve.Jacobian.Point.toAffine W (W.neg P) = -WeierstrassCurve.Jacobian.Point.toAffine W P - WeierstrassCurve.Jacobian.Point.toAffine_of_equiv π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {P Q : Fin 3 β F} (h : P β Q) : WeierstrassCurve.Jacobian.Point.toAffine W P = WeierstrassCurve.Jacobian.Point.toAffine W Q - WeierstrassCurve.Jacobian.Point.toAffine_of_singular π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {P : Fin 3 β F} (hP : Β¬W.Nonsingular P) : WeierstrassCurve.Jacobian.Point.toAffine W P = 0 - WeierstrassCurve.Jacobian.Point.toAffine_smul π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} (P : Fin 3 β F) {u : F} (hu : IsUnit u) : WeierstrassCurve.Jacobian.Point.toAffine W (u β’ P) = WeierstrassCurve.Jacobian.Point.toAffine W P - WeierstrassCurve.Jacobian.Point.toAffineLift_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} : WeierstrassCurve.Jacobian.Point.toAffineLift 0 = 0 - WeierstrassCurve.Jacobian.Point.toAffine_of_Z_eq_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {P : Fin 3 β F} (hPz : P 2 = 0) : WeierstrassCurve.Jacobian.Point.toAffine W P = 0 - WeierstrassCurve.Jacobian.Point.toAffine_add π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} [DecidableEq F] {P Q : Fin 3 β F} (hP : W.Nonsingular P) (hQ : W.Nonsingular Q) : WeierstrassCurve.Jacobian.Point.toAffine W (W.add P Q) = WeierstrassCurve.Jacobian.Point.toAffine W P + WeierstrassCurve.Jacobian.Point.toAffine W Q - WeierstrassCurve.Jacobian.Point.toAffineLift_add π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} [DecidableEq F] (P Q : W.Point) : (P + Q).toAffineLift = P.toAffineLift + Q.toAffineLift - WeierstrassCurve.Jacobian.Point.toAffine_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} : WeierstrassCurve.Jacobian.Point.toAffine W ![1, 1, 0] = 0 - WeierstrassCurve.Jacobian.Point.toAffineAddEquiv_apply π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] (W : WeierstrassCurve.Jacobian F) [DecidableEq F] (P : W.Point) : (WeierstrassCurve.Jacobian.Point.toAffineAddEquiv W) P = P.toAffineLift - WeierstrassCurve.Jacobian.Point.toAffineLift_eq π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {P : Fin 3 β F} (hP : W.NonsingularLift β¦Pβ§) : { point := β¦Pβ§, nonsingular := hP }.toAffineLift = WeierstrassCurve.Jacobian.Point.toAffine W P - WeierstrassCurve.Jacobian.Point.toAffineAddEquiv_symm_apply π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] (W : WeierstrassCurve.Jacobian F) [DecidableEq F] (aβ : W.toAffine.Point) : (WeierstrassCurve.Jacobian.Point.toAffineAddEquiv W).symm aβ = WeierstrassCurve.Jacobian.Point.fromAffine aβ - WeierstrassCurve.Jacobian.Point.toAffine_some π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {X Y : F} (h : W.Nonsingular ![X, Y, 1]) : WeierstrassCurve.Jacobian.Point.toAffine W ![X, Y, 1] = WeierstrassCurve.Affine.Point.some X Y β― - WeierstrassCurve.Jacobian.Point.toAffineLift_of_Z_eq_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {P : Fin 3 β F} (hP : W.NonsingularLift β¦Pβ§) (hPz : P 2 = 0) : { point := β¦Pβ§, nonsingular := hP }.toAffineLift = 0 - WeierstrassCurve.Jacobian.Point.toAffineLift_some π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {X Y : F} (h : W.NonsingularLift β¦![X, Y, 1]β§) : { point := β¦![X, Y, 1]β§, nonsingular := h }.toAffineLift = WeierstrassCurve.Affine.Point.some X Y β― - WeierstrassCurve.Jacobian.Point.toAffine_of_Z_ne_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {P : Fin 3 β F} (hP : W.Nonsingular P) (hPz : P 2 β 0) : WeierstrassCurve.Jacobian.Point.toAffine W P = WeierstrassCurve.Affine.Point.some (P 0 / P 2 ^ 2) (P 1 / P 2 ^ 3) β― - WeierstrassCurve.Jacobian.Point.toAffineLift_of_Z_ne_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {P : Fin 3 β F} {hP : W.NonsingularLift β¦Pβ§} (hPz : P 2 β 0) : { point := β¦Pβ§, nonsingular := hP }.toAffineLift = WeierstrassCurve.Affine.Point.some (P 0 / P 2 ^ 2) (P 1 / P 2 ^ 3) β― - WeierstrassCurve.Affine.Point.toProjective π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{R : Type r} [CommRing R] [Nontrivial R] {W : WeierstrassCurve.Affine R} (P : W.Point) : (WeierstrassCurve.toProjective W).Point - WeierstrassCurve.Projective.Point.fromAffine π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Projective R} [Nontrivial R] : W'.toAffine.Point β W'.Point - WeierstrassCurve.Projective.Point.toAffineLift π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} (P : W.Point) : W.toAffine.Point - WeierstrassCurve.Projective.Point.toAffine π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] (W : WeierstrassCurve.Projective F) (P : Fin 3 β F) : W.toAffine.Point - WeierstrassCurve.Projective.Point.toAffineAddEquiv π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] (W : WeierstrassCurve.Projective F) [DecidableEq F] : W.Point β+ W.toAffine.Point - WeierstrassCurve.Projective.Point.fromAffine_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Projective R} [Nontrivial R] : WeierstrassCurve.Projective.Point.fromAffine 0 = 0 - WeierstrassCurve.Projective.Point.toAffineLift_neg π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} (P : W.Point) : (-P).toAffineLift = -P.toAffineLift - WeierstrassCurve.Projective.Point.toAffine_neg π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {P : Fin 3 β F} (hP : W.Nonsingular P) : WeierstrassCurve.Projective.Point.toAffine W (W.neg P) = -WeierstrassCurve.Projective.Point.toAffine W P - WeierstrassCurve.Projective.Point.toAffine_of_equiv π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {P Q : Fin 3 β F} (h : P β Q) : WeierstrassCurve.Projective.Point.toAffine W P = WeierstrassCurve.Projective.Point.toAffine W Q - WeierstrassCurve.Projective.Point.toAffine_of_singular π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {P : Fin 3 β F} (hP : Β¬W.Nonsingular P) : WeierstrassCurve.Projective.Point.toAffine W P = 0 - WeierstrassCurve.Projective.Point.toAffineLift_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} : WeierstrassCurve.Projective.Point.toAffineLift 0 = 0 - WeierstrassCurve.Projective.Point.toAffine_smul π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} (P : Fin 3 β F) {u : F} (hu : IsUnit u) : WeierstrassCurve.Projective.Point.toAffine W (u β’ P) = WeierstrassCurve.Projective.Point.toAffine W P - WeierstrassCurve.Projective.Point.toAffine_of_Z_eq_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {P : Fin 3 β F} (hPz : P 2 = 0) : WeierstrassCurve.Projective.Point.toAffine W P = 0 - WeierstrassCurve.Projective.Point.toAffine_add π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} [DecidableEq F] {P Q : Fin 3 β F} (hP : W.Nonsingular P) (hQ : W.Nonsingular Q) : WeierstrassCurve.Projective.Point.toAffine W (W.add P Q) = WeierstrassCurve.Projective.Point.toAffine W P + WeierstrassCurve.Projective.Point.toAffine W Q - WeierstrassCurve.Projective.Point.toAffineLift_add π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} [DecidableEq F] (P Q : W.Point) : (P + Q).toAffineLift = P.toAffineLift + Q.toAffineLift - WeierstrassCurve.Projective.Point.toAffine_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} : WeierstrassCurve.Projective.Point.toAffine W ![0, 1, 0] = 0 - WeierstrassCurve.Projective.Point.toAffineAddEquiv_apply π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] (W : WeierstrassCurve.Projective F) [DecidableEq F] (P : W.Point) : (WeierstrassCurve.Projective.Point.toAffineAddEquiv W) P = P.toAffineLift - WeierstrassCurve.Projective.Point.toAffineAddEquiv_symm_apply π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] (W : WeierstrassCurve.Projective F) [DecidableEq F] (aβ : W.toAffine.Point) : (WeierstrassCurve.Projective.Point.toAffineAddEquiv W).symm aβ = WeierstrassCurve.Projective.Point.fromAffine aβ - WeierstrassCurve.Projective.Point.toAffine_some π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {X Y : F} (h : W.Nonsingular ![X, Y, 1]) : WeierstrassCurve.Projective.Point.toAffine W ![X, Y, 1] = WeierstrassCurve.Affine.Point.some X Y β― - WeierstrassCurve.Projective.Point.toAffineLift_eq π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {P : Fin 3 β F} (hP : W.NonsingularLift β¦Pβ§) : { point := β¦Pβ§, nonsingular := hP }.toAffineLift = WeierstrassCurve.Projective.Point.toAffine W P - WeierstrassCurve.Projective.Point.toAffineLift_of_Z_eq_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {P : Fin 3 β F} (hP : W.NonsingularLift β¦Pβ§) (hPz : P 2 = 0) : { point := β¦Pβ§, nonsingular := hP }.toAffineLift = 0 - WeierstrassCurve.Projective.Point.toAffine_of_Z_ne_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {P : Fin 3 β F} (hP : W.Nonsingular P) (hPz : P 2 β 0) : WeierstrassCurve.Projective.Point.toAffine W P = WeierstrassCurve.Affine.Point.some (P 0 / P 2) (P 1 / P 2) β― - WeierstrassCurve.Projective.Point.toAffineLift_some π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {X Y : F} (h : W.NonsingularLift β¦![X, Y, 1]β§) : { point := β¦![X, Y, 1]β§, nonsingular := h }.toAffineLift = WeierstrassCurve.Affine.Point.some X Y β― - WeierstrassCurve.Projective.Point.toAffineLift_of_Z_ne_zero π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {P : Fin 3 β F} {hP : W.NonsingularLift β¦Pβ§} (hPz : P 2 β 0) : { point := β¦Pβ§, nonsingular := hP }.toAffineLift = WeierstrassCurve.Affine.Point.some (P 0 / P 2) (P 1 / P 2) β―
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
πReal.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
π"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
π_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
πReal.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
π(?a -> ?b) -> List ?a -> List ?b
πList ?a -> (?a -> ?b) -> List ?bBy main conclusion:
π|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of allβandβ) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
π|- _ < _ β tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
β’ (_ : Type _)finds all definitions which provide data whileβ’ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
π Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ β _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision ce5dd8c