All proofs
Project-declaredLean 4.32.0 · mathlib@249c48c2

Node Poly quadratic Twist Of map splits iff

WeierstrassCurve.nodePoly_quadraticTwistOf_map_splits_iff

Plain-language statement

Twisting flips the square class (residue characteristic ≠ 2). Combining the split criterion nodePoly_map_splits_iff_isSquare with the coefficient scaling of the quadratic twist (c₄_quadraticTwistOf, c₆_quadraticTwistOf), the node polynomial of W.quadraticTwistOf t n splits over a field k of characteristic ≠ 2 exactly when D · (-c₄ c₆) is...

Exact Lean statement

lemma nodePoly_quadraticTwistOf_map_splits_iff {A : Type*} [CommRing A] {k : Type*} [Field k]
    [NeZero (2 : k)] (φ : A →+* k) (W : WeierstrassCurve A) (t n : A) (hc₄ : φ W.c₄ ≠ 0)
    (hD : φ (t ^ 2 - 4 * n) ≠ 0) :
    ((W.quadraticTwistOf t n).nodePoly.map φ).Splits
      ↔ IsSquare (φ ((t ^ 2 - 4 * n) * -(W.c₄ * W.c₆)))

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
lemma nodePoly_quadraticTwistOf_map_splits_iff {A : Type*} [CommRing A] {k : Type*} [Field k]    [NeZero (2 : k)] (φ : A →+* k) (W : WeierstrassCurve A) (t n : A) (hc₄ : φ W.c 0)    (hD : φ (t ^ 2 - 4 * n)  0) :    ((W.quadraticTwistOf t n).nodePoly.map φ).Splits       IsSquare (φ ((t ^ 2 - 4 * n) * -(W.c* W.c₆))) := by  have key :  s y : k, s  0  (IsSquare (s ^ 2 * y)  IsSquare y) := fun s y hs     fun w, hw  w / s, by field_simp; linear_combination hw,      fun w, hw  s * w, by rw [hw]; ring⟩⟩  have hc₄' : φ (W.quadraticTwistOf t n).c₄  0 := by    rw [c₄_quadraticTwistOf, map_mul, map_pow]; exact mul_ne_zero (pow_ne_zero 2 hD) hc₄  rw [nodePoly_map_splits_iff_isSquare φ (W.quadraticTwistOf t n) hc₄',    show -((W.quadraticTwistOf t n).c₄ * (W.quadraticTwistOf t n).c₆)        = ((t ^ 2 - 4 * n) ^ 2) ^ 2 * ((t ^ 2 - 4 * n) * -(W.c* W.c₆)) from by      rw [c₄_quadraticTwistOf, c₆_quadraticTwistOf]; ring,    map_mul, map_pow,    key _ _ (show φ ((t ^ 2 - 4 * n) ^ 2)  0 by rw [map_pow]; exact pow_ne_zero 2 hD)]
Project
Fermat's Last Theorem
License
Apache-2.0
Commit
8dd808888295
Source
FLT/KnownIn1980s/EllipticCurves/QuadraticTwists/SplitMultiplicativeReduction.lean:84-99

Reuse this declaration

Bring the exact result into your workflow

The import identifies the source module. Your project still needs the pinned package dependency shown on this page.

What this badge means

This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.

Continue in this project

Related declarations

Project-declaredLean 4.32.0

Eq finsum quotient out of bij On

AbstractHeckeOperator.eq_finsum_quotient_out_of_bijOn'

Plain-language statement

If a is fixed by V then ∑ᶠ g ∈ s, g • a is independent of the choice s of coset representatives in G for a subset of G ⧸ V

number theoryarithmetic geometryFermat's Last Theorem

Source project: Fermat's Last Theorem

Person-level attribution pending.

View proof record
Project-declaredLean 4.32.0

Comm Group no compact automorphisms

CommGroup.no_compact_automorphisms

Plain-language statement

A connected compact Hausdorff abelian topological group does not admit a nontrivial compact group of automorphisms.

number theoryarithmetic geometryFermat's Last Theorem

Source project: Fermat's Last Theorem

Person-level attribution pending.

View proof record