Loogle!
Result
Found 95 declarations mentioning WeierstrassCurve.map.
- WeierstrassCurve.map_id π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) : W.map (RingHom.id R) = W - WeierstrassCurve.map π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) {A : Type v} [CommRing A] (f : R β+* A) : WeierstrassCurve A - WeierstrassCurve.instIsEllipticMap π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) [W.IsElliptic] {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).IsElliptic - WeierstrassCurve.map_aβ π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).aβ = f W.aβ - WeierstrassCurve.map_aβ π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).aβ = f W.aβ - WeierstrassCurve.map_aβ π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).aβ = f W.aβ - WeierstrassCurve.map_aβ π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).aβ = f W.aβ - WeierstrassCurve.map_aβ π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).aβ = f W.aβ - WeierstrassCurve.map_injective π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] {A : Type v} [CommRing A] {f : R β+* A} (hf : Function.Injective βf) : Function.Injective fun W => W.map f - WeierstrassCurve.map_bβ π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).bβ = f W.bβ - WeierstrassCurve.map_bβ π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).bβ = f W.bβ - WeierstrassCurve.map_bβ π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).bβ = f W.bβ - WeierstrassCurve.map_bβ π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).bβ = f W.bβ - WeierstrassCurve.map_cβ π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).cβ = f W.cβ - WeierstrassCurve.map_cβ π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).cβ = f W.cβ - WeierstrassCurve.map_Ξ π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).Ξ = f W.Ξ - WeierstrassCurve.map_j π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) [W.IsElliptic] {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).j = f W.j - WeierstrassCurve.map_map π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) {A : Type v} [CommRing A] (f : R β+* A) {B : Type w} [CommRing B] (g : A β+* B) : (W.map f).map g = W.map (g.comp f) - WeierstrassCurve.coe_map_Ξ' π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) [W.IsElliptic] {A : Type v} [CommRing A] (f : R β+* A) : β(W.map f).Ξ' = f βW.Ξ' - WeierstrassCurve.coe_inv_map_Ξ' π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) [W.IsElliptic] {A : Type v} [CommRing A] (f : R β+* A) : β(W.map f).Ξ'β»ΒΉ = f βW.Ξ'β»ΒΉ - WeierstrassCurve.map_baseChange π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) {S : Type s} [CommRing S] [Algebra R S] {A : Type v} [CommRing A] [Algebra R A] [Algebra S A] [IsScalarTower R S A] {B : Type w} [CommRing B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (g : A ββ[S] B) : (W.baseChange A).map βg = W.baseChange B - WeierstrassCurve.map_Ξ' π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) [W.IsElliptic] {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).Ξ' = (Units.map βf) W.Ξ' - WeierstrassCurve.inv_map_Ξ' π Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass
{R : Type u} [CommRing R] (W : WeierstrassCurve R) [W.IsElliptic] {A : Type v} [CommRing A] (f : R β+* A) : (W.map f).Ξ'β»ΒΉ = (Units.map βf) W.Ξ'β»ΒΉ - WeierstrassCurve.map_variableChange π Mathlib.AlgebraicGeometry.EllipticCurve.VariableChange
{R : Type u} [CommRing R] (W : WeierstrassCurve R) {A : Type v} [CommRing A] (Ο : R β+* A) (C : WeierstrassCurve.VariableChange R) : WeierstrassCurve.VariableChange.map Ο C β’ W.map Ο = (C β’ W).map Ο - WeierstrassCurve.map.eq_1 π Mathlib.AlgebraicGeometry.EllipticCurve.VariableChange
{R : Type u} [CommRing R] (W : WeierstrassCurve R) {A : Type v} [CommRing A] (f : R β+* A) : W.map f = { aβ := f W.aβ, aβ := f W.aβ, aβ := f W.aβ, aβ := f W.aβ, aβ := f W.aβ } - WeierstrassCurve.Affine.map_polynomial π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W : WeierstrassCurve.Affine R} (f : R β+* S) : (WeierstrassCurve.map W f).toAffine.polynomial = Polynomial.map (Polynomial.mapRingHom f) W.polynomial - WeierstrassCurve.Affine.map_polynomialX π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W : WeierstrassCurve.Affine R} (f : R β+* S) : (WeierstrassCurve.map W f).toAffine.polynomialX = Polynomial.map (Polynomial.mapRingHom f) W.polynomialX - WeierstrassCurve.Affine.map_polynomialY π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W : WeierstrassCurve.Affine R} (f : R β+* S) : (WeierstrassCurve.map W f).toAffine.polynomialY = Polynomial.map (Polynomial.mapRingHom f) W.polynomialY - WeierstrassCurve.Affine.Equation.map π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W : WeierstrassCurve.Affine R} (f : R β+* S) {x y : R} (h : W.Equation x y) : (WeierstrassCurve.map W f).toAffine.Equation (f x) (f y) - WeierstrassCurve.Affine.map_equation π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W : WeierstrassCurve.Affine R} {f : R β+* S} (x y : R) (hf : Function.Injective βf) : (WeierstrassCurve.map W f).toAffine.Equation (f x) (f y) β W.Equation x y - WeierstrassCurve.Affine.map_nonsingular π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W : WeierstrassCurve.Affine R} {f : R β+* S} (x y : R) (hf : Function.Injective βf) : (WeierstrassCurve.map W f).toAffine.Nonsingular (f x) (f y) β W.Nonsingular x y - WeierstrassCurve.Affine.map_negPolynomial π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Affine R} (f : R β+* S) : (WeierstrassCurve.map W' f).toAffine.negPolynomial = Polynomial.map (Polynomial.mapRingHom f) W'.negPolynomial - WeierstrassCurve.Affine.map_negY π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Affine R} (f : R β+* S) (x y : R) : (WeierstrassCurve.map W' f).toAffine.negY (f x) (f y) = f (W'.negY x y) - WeierstrassCurve.Affine.map_addPolynomial π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Affine R} (f : R β+* S) (x y β : R) : (WeierstrassCurve.map W' f).toAffine.addPolynomial (f x) (f y) (f β) = Polynomial.map f (W'.addPolynomial x y β) - WeierstrassCurve.Affine.map_addX π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Affine R} (f : R β+* S) (xβ xβ β : R) : (WeierstrassCurve.map W' f).toAffine.addX (f xβ) (f xβ) (f β) = f (W'.addX xβ xβ β) - WeierstrassCurve.Affine.map_negAddY π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Affine R} (f : R β+* S) (xβ yβ xβ β : R) : (WeierstrassCurve.map W' f).toAffine.negAddY (f xβ) (f xβ) (f yβ) (f β) = f (W'.negAddY xβ xβ yβ β) - WeierstrassCurve.Affine.map_addY π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Affine R} (f : R β+* S) (xβ yβ xβ β : R) : (WeierstrassCurve.map W' f).toAffine.addY (f xβ) (f xβ) (f yβ) (f β) = f ((WeierstrassCurve.toAffine W').addY xβ xβ yβ β) - WeierstrassCurve.Affine.map_slope π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Formula
{F : Type u} {K : Type v} [Field F] [Field K] {W : WeierstrassCurve.Affine F} (f : F β+* K) (xβ xβ yβ yβ : F) : (WeierstrassCurve.map W f).toAffine.slope (f xβ) (f xβ) (f yβ) (f yβ) = f (W.slope xβ xβ yβ yβ) - WeierstrassCurve.Affine.CoordinateRing.map π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} {S : Type s} [CommRing R] [CommRing S] (W' : WeierstrassCurve.Affine R) (f : R β+* S) : WeierstrassCurve.Affine.CoordinateRing β+* WeierstrassCurve.Affine.CoordinateRing - WeierstrassCurve.Affine.CoordinateRing.map_injective π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Affine R} {f : R β+* S} (hf : Function.Injective βf) : Function.Injective β(WeierstrassCurve.Affine.CoordinateRing.map W' f) - WeierstrassCurve.Affine.CoordinateRing.map.eq_1 π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} {S : Type s} [CommRing R] [CommRing S] (W' : WeierstrassCurve.Affine R) (f : R β+* S) : WeierstrassCurve.Affine.CoordinateRing.map W' f = AdjoinRoot.lift ((AdjoinRoot.of (WeierstrassCurve.map W' f).toAffine.polynomial).comp (Polynomial.mapRingHom f)) (AdjoinRoot.root (WeierstrassCurve.map W' f).toAffine.polynomial) β― - WeierstrassCurve.Affine.CoordinateRing.map_mk π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Affine R} (f : R β+* S) (x : Polynomial (Polynomial R)) : (WeierstrassCurve.Affine.CoordinateRing.map W' f) ((WeierstrassCurve.Affine.CoordinateRing.mk W') x) = (WeierstrassCurve.Affine.CoordinateRing.mk (WeierstrassCurve.map W' f)) (Polynomial.map (Polynomial.mapRingHom f) x) - WeierstrassCurve.Affine.CoordinateRing.map_smul π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Affine R} (f : R β+* S) (x : Polynomial R) (y : WeierstrassCurve.Affine.CoordinateRing) : (WeierstrassCurve.Affine.CoordinateRing.map W' f) (x β’ y) = Polynomial.map f x β’ (WeierstrassCurve.Affine.CoordinateRing.map W' f) y - WeierstrassCurve.map_preΞ¨β π Mathlib.AlgebraicGeometry.EllipticCurve.DivisionPolynomial.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] (W : WeierstrassCurve R) (f : R β+* S) : (W.map f).preΞ¨β = Polynomial.map f W.preΞ¨β - WeierstrassCurve.map_Ξ¨βSq π Mathlib.AlgebraicGeometry.EllipticCurve.DivisionPolynomial.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] (W : WeierstrassCurve R) (f : R β+* S) : (W.map f).Ξ¨βSq = Polynomial.map f W.Ξ¨βSq - WeierstrassCurve.map_Ξ¨β π Mathlib.AlgebraicGeometry.EllipticCurve.DivisionPolynomial.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] (W : WeierstrassCurve R) (f : R β+* S) : (W.map f).Ξ¨β = Polynomial.map f W.Ξ¨β - WeierstrassCurve.map_preΞ¨ π Mathlib.AlgebraicGeometry.EllipticCurve.DivisionPolynomial.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] (W : WeierstrassCurve R) (f : R β+* S) (n : β€) : (W.map f).preΞ¨ n = Polynomial.map f (W.preΞ¨ n) - WeierstrassCurve.map_preΞ¨' π Mathlib.AlgebraicGeometry.EllipticCurve.DivisionPolynomial.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] (W : WeierstrassCurve R) (f : R β+* S) (n : β) : (W.map f).preΞ¨' n = Polynomial.map f (W.preΞ¨' n) - WeierstrassCurve.map_Ξ¦ π Mathlib.AlgebraicGeometry.EllipticCurve.DivisionPolynomial.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] (W : WeierstrassCurve R) (f : R β+* S) (n : β€) : (W.map f).Ξ¦ n = Polynomial.map f (W.Ξ¦ n) - WeierstrassCurve.map_Ξ¨Sq π Mathlib.AlgebraicGeometry.EllipticCurve.DivisionPolynomial.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] (W : WeierstrassCurve R) (f : R β+* S) (n : β€) : (W.map f).Ξ¨Sq n = Polynomial.map f (W.Ξ¨Sq n) - WeierstrassCurve.map_Οβ π Mathlib.AlgebraicGeometry.EllipticCurve.DivisionPolynomial.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] (W : WeierstrassCurve R) (f : R β+* S) : (W.map f).Οβ = Polynomial.map (Polynomial.mapRingHom f) W.Οβ - WeierstrassCurve.map_Ξ¨ π Mathlib.AlgebraicGeometry.EllipticCurve.DivisionPolynomial.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] (W : WeierstrassCurve R) (f : R β+* S) (n : β€) : (W.map f).Ξ¨ n = Polynomial.map (Polynomial.mapRingHom f) (W.Ξ¨ n) - WeierstrassCurve.map_Ο π Mathlib.AlgebraicGeometry.EllipticCurve.DivisionPolynomial.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] (W : WeierstrassCurve R) (f : R β+* S) (n : β€) : (W.map f).Ο n = Polynomial.map (Polynomial.mapRingHom f) (W.Ο n) - WeierstrassCurve.map_Ο π Mathlib.AlgebraicGeometry.EllipticCurve.DivisionPolynomial.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] (W : WeierstrassCurve R) (f : R β+* S) (n : β€) : (W.map f).Ο n = Polynomial.map (Polynomial.mapRingHom f) (W.Ο n) - WeierstrassCurve.Jacobian.Equation.map π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) {P : Fin 3 β R} (h : W'.Equation P) : (WeierstrassCurve.map W' f).toJacobian.Equation (βf β P) - WeierstrassCurve.Jacobian.map_equation π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} {f : R β+* S} (P : Fin 3 β R) (hf : Function.Injective βf) : (WeierstrassCurve.map W' f).toJacobian.Equation (βf β P) β W'.Equation P - WeierstrassCurve.Jacobian.map_nonsingular π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} {f : R β+* S} (P : Fin 3 β R) (hf : Function.Injective βf) : (WeierstrassCurve.map W' f).toJacobian.Nonsingular (βf β P) β W'.Nonsingular P - WeierstrassCurve.Jacobian.map_polynomial π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) : (WeierstrassCurve.map W' f).toJacobian.polynomial = (MvPolynomial.map f) W'.polynomial - WeierstrassCurve.Jacobian.map_polynomialX π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) : (WeierstrassCurve.map W' f).toJacobian.polynomialX = (MvPolynomial.map f) W'.polynomialX - WeierstrassCurve.Jacobian.map_polynomialY π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) : (WeierstrassCurve.map W' f).toJacobian.polynomialY = (MvPolynomial.map f) W'.polynomialY - WeierstrassCurve.Jacobian.map_polynomialZ π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) : (WeierstrassCurve.map W' f).toJacobian.polynomialZ = (MvPolynomial.map f) W'.polynomialZ - WeierstrassCurve.Jacobian.map_dblU π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) (P : Fin 3 β R) : (WeierstrassCurve.map W' f).toJacobian.dblU (βf β P) = f (W'.dblU P) - WeierstrassCurve.Jacobian.map_dblX π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) (P : Fin 3 β R) : (WeierstrassCurve.map W' f).toJacobian.dblX (βf β P) = f (W'.dblX P) - WeierstrassCurve.Jacobian.map_dblY π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) (P : Fin 3 β R) : (WeierstrassCurve.map W' f).toJacobian.dblY (βf β P) = f (W'.dblY P) - WeierstrassCurve.Jacobian.map_dblZ π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) (P : Fin 3 β R) : (WeierstrassCurve.map W' f).toJacobian.dblZ (βf β P) = f (W'.dblZ P) - WeierstrassCurve.Jacobian.map_negDblY π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) (P : Fin 3 β R) : (WeierstrassCurve.map W' f).toJacobian.negDblY (βf β P) = f (W'.negDblY P) - WeierstrassCurve.Jacobian.map_negY π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) (P : Fin 3 β R) : (WeierstrassCurve.map W' f).toJacobian.negY (βf β P) = f (W'.negY P) - WeierstrassCurve.Jacobian.map_dblXYZ π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) (P : Fin 3 β R) : (WeierstrassCurve.map W' f).toJacobian.dblXYZ (βf β P) = βf β W'.dblXYZ P - WeierstrassCurve.Jacobian.map_addX π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) (P Q : Fin 3 β R) : (WeierstrassCurve.map W' f).toJacobian.addX (βf β P) (βf β Q) = f (W'.addX P Q) - WeierstrassCurve.Jacobian.map_addY π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) (P Q : Fin 3 β R) : (WeierstrassCurve.map W' f).toJacobian.addY (βf β P) (βf β Q) = f (W'.addY P Q) - WeierstrassCurve.Jacobian.map_negAddY π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) (P Q : Fin 3 β R) : (WeierstrassCurve.map W' f).toJacobian.negAddY (βf β P) (βf β Q) = f (W'.negAddY P Q) - WeierstrassCurve.Jacobian.map_addXYZ π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) (P Q : Fin 3 β R) : (WeierstrassCurve.map W' f).toJacobian.addXYZ (βf β P) (βf β Q) = βf β W'.addXYZ P Q - WeierstrassCurve.Jacobian.map_neg π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) (P : Fin 3 β R) : (WeierstrassCurve.map W' f).toJacobian.neg (βf β P) = βf β W'.neg P - WeierstrassCurve.Jacobian.map_add π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} {K : Type v} [Field F] [Field K] {W : WeierstrassCurve.Jacobian F} (f : F β+* K) {P Q : Fin 3 β F} (hP : W.Nonsingular P) (hQ : W.Nonsingular Q) : (WeierstrassCurve.map W f).toJacobian.add (βf β P) (βf β Q) = βf β W.add P Q - WeierstrassCurve.Projective.Equation.map π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) {P : Fin 3 β R} (h : W'.Equation P) : (WeierstrassCurve.map W' f).toProjective.Equation (βf β P) - WeierstrassCurve.Projective.map_equation π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} {f : R β+* S} (P : Fin 3 β R) (hf : Function.Injective βf) : (WeierstrassCurve.map W' f).toProjective.Equation (βf β P) β W'.Equation P - WeierstrassCurve.Projective.map_nonsingular π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} {f : R β+* S} (P : Fin 3 β R) (hf : Function.Injective βf) : (WeierstrassCurve.map W' f).toProjective.Nonsingular (βf β P) β W'.Nonsingular P - WeierstrassCurve.Projective.map_polynomial π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) : (WeierstrassCurve.map W' f).toProjective.polynomial = (MvPolynomial.map f) W'.polynomial - WeierstrassCurve.Projective.map_polynomialX π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) : (WeierstrassCurve.map W' f).toProjective.polynomialX = (MvPolynomial.map f) W'.polynomialX - WeierstrassCurve.Projective.map_polynomialY π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) : (WeierstrassCurve.map W' f).toProjective.polynomialY = (MvPolynomial.map f) W'.polynomialY - WeierstrassCurve.Projective.map_polynomialZ π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) : (WeierstrassCurve.map W' f).toProjective.polynomialZ = (MvPolynomial.map f) W'.polynomialZ - WeierstrassCurve.Projective.map_dblX π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) (P : Fin 3 β R) : (WeierstrassCurve.map W' f).toProjective.dblX (βf β P) = f (W'.dblX P) - WeierstrassCurve.Projective.map_dblY π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) (P : Fin 3 β R) : (WeierstrassCurve.map W' f).toProjective.dblY (βf β P) = f (W'.dblY P) - WeierstrassCurve.Projective.map_dblZ π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) (P : Fin 3 β R) : (WeierstrassCurve.map W' f).toProjective.dblZ (βf β P) = f (W'.dblZ P) - WeierstrassCurve.Projective.map_negDblY π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) (P : Fin 3 β R) : (WeierstrassCurve.map W' f).toProjective.negDblY (βf β P) = f (W'.negDblY P) - WeierstrassCurve.Projective.map_negY π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) (P : Fin 3 β R) : (WeierstrassCurve.map W' f).toProjective.negY (βf β P) = f (W'.negY P) - WeierstrassCurve.Projective.map_dblXYZ π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) (P : Fin 3 β R) : (WeierstrassCurve.map W' f).toProjective.dblXYZ (βf β P) = βf β W'.dblXYZ P - WeierstrassCurve.Projective.map_dblU π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula
{F : Type u} {K : Type v} [Field F] [Field K] {W : WeierstrassCurve.Projective F} (f : F β+* K) (P : Fin 3 β F) : (WeierstrassCurve.map W f).toProjective.dblU (βf β P) = f (W.dblU P) - WeierstrassCurve.Projective.map_addX π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) (P Q : Fin 3 β R) : (WeierstrassCurve.map W' f).toProjective.addX (βf β P) (βf β Q) = f (W'.addX P Q) - WeierstrassCurve.Projective.map_addY π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) (P Q : Fin 3 β R) : (WeierstrassCurve.map W' f).toProjective.addY (βf β P) (βf β Q) = f (W'.addY P Q) - WeierstrassCurve.Projective.map_addZ π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) (P Q : Fin 3 β R) : (WeierstrassCurve.map W' f).toProjective.addZ (βf β P) (βf β Q) = f (W'.addZ P Q) - WeierstrassCurve.Projective.map_negAddY π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) (P Q : Fin 3 β R) : (WeierstrassCurve.map W' f).toProjective.negAddY (βf β P) (βf β Q) = f (W'.negAddY P Q) - WeierstrassCurve.Projective.map_addXYZ π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) (P Q : Fin 3 β R) : (WeierstrassCurve.map W' f).toProjective.addXYZ (βf β P) (βf β Q) = βf β W'.addXYZ P Q - WeierstrassCurve.Projective.map_neg π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) (P : Fin 3 β R) : (WeierstrassCurve.map W' f).toProjective.neg (βf β P) = βf β W'.neg P - WeierstrassCurve.Projective.map_add π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} {K : Type v} [Field F] [Field K] {W : WeierstrassCurve.Projective F} (f : F β+* K) {P Q : Fin 3 β F} (hP : W.Nonsingular P) (hQ : W.Nonsingular Q) : (WeierstrassCurve.map W f).toProjective.add (βf β P) (βf β Q) = βf β W.add P Q
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using (by default) Ctrl-K Ctrl-S. 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 ?a
If 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 ?b
By 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_tsum
even though the hypothesisf i < g i
is not the last.
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.
This is Loogle revision 19971e9
serving mathlib revision 40fea08