All proofs
Project-declaredLean 4.32.0 · mathlib@249c48c2

Quadratic Twist of two ne zero

WeierstrassCurve.quadraticTwist_of_two_ne_zero

Plain-language statement

The classical formula for the quadratic twist away from characteristic 2. Suppose char K ≠ 2, so that after completing the square we may assume E has the form y² = x³ + a₂x² + a₄x + a₆, and suppose L = K(α) where α² = d is a nonsquare in K (every separable quadratic extension arises this way when char K ≠ 2). Then the quadratic twist of E...

Exact Lean statement

theorem quadraticTwist_of_two_ne_zero (h2 : (2 : K) ≠ 0) (ha₁ : E.a₁ = 0) (ha₃ : E.a₃ = 0)
    {d : K} (hd : ¬IsSquare d) {α : L} (hα : α ^ 2 = algebraMap K L d) :
    ∃ C : VariableChange K, C • E.quadraticTwist L =
      { a₁ := 0, a₂ := d * E.a₂, a₃ := 0, a₄ := d ^ 2 * E.a₄, a₆ := d ^ 3 * E.a₆ }

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
theorem quadraticTwist_of_two_ne_zero (h2 : (2 : K)  0) (ha₁ : E.a= 0) (ha₃ : E.a= 0)    {d : K} (hd : ¬IsSquare d) {α : L} (hα : α ^ 2 = algebraMap K L d) :     C : VariableChange K, C • E.quadraticTwist L =      { a₁ := 0, a₂ := d * E.a₂, a₃ := 0, a₄ := d ^ 2 * E.a₄, a₆ := d ^ 3 * E.a₆ } := by  -- `α` generates `L/K` (`d` is not a square), with trace `0` and norm `-d`.  have hαK : α  Set.range (algebraMap K L) := notMem_range_algebraMap_of_not_isSquare L hd hα  have htr := trace_eq_zero_of_sq_eq K L hαK hα  have hnm := norm_eq_neg_of_sq_eq K L hαK hα  -- So `E.quadraticTwistBy α = E.quadraticTwistOf 0 (-d)`; a final scaling by `u = 2` removes  -- the powers of `4` and yields the classical model.  obtain C, hC := E.exists_smul_quadraticTwist_eq_quadraticTwistBy L hαK  unfold quadraticTwistBy at hC  rw [htr, hnm] at hC  refine ⟨⟨Units.mk0 2 h2, 0, 0, 0 * C, ?_  rw [mul_smul, hC, variableChange_def]  ext <;>    simp only [quadraticTwistOf, ha₁, ha₃, Units.val_inv_eq_inv_val, Units.val_mk0] <;>    field
Project
Fermat's Last Theorem
License
Apache-2.0
Commit
8dd808888295
Source
FLT/KnownIn1980s/EllipticCurves/QuadraticTwists/QuadraticTwists.lean:422-439

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