Module

QuadraticTrace.lean

Nyll.SawinTotallyRealTowers.QuadraticTrace
6 declarations indexed from sourceView source ↗

Traces and norms in quadratic coordinates

A square-root generator of a quadratic extension has minimal polynomial X² - d. Its trace and norm, and those of every rational linear combination of 1 and the generator, follow from the power basis and a two-dimensional determinant identity.

Declarations

ClassFieldTower.Sawin.minpoly_quadratic_generator

The square-root generator of a quadratic extension has the expected minimal polynomial.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
namespace ClassFieldTower.Sawin
variable (L : Type u) [Field L] [Algebra ℚ L]
    [Algebra.IsQuadraticExtension ℚ L]
theorem minpoly_quadratic_generator (d : ℚ) (α : L)
    (hSquare : α ^ 2 = algebraMap ℚ L d)
    (hGenerate : IntermediateField.adjoin ℚ ({α} : Set L) = ⊤) :
    minpoly ℚ α = Polynomial.X ^ 2 - Polynomial.C d
ClassFieldTower.Sawin.trace_quadratic_generator

A square-root generator has trace zero.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
namespace ClassFieldTower.Sawin
variable (L : Type u) [Field L] [Algebra ℚ L]
    [Algebra.IsQuadraticExtension ℚ L]
theorem trace_quadratic_generator (d : ℚ) (α : L)
    (hSquare : α ^ 2 = algebraMap ℚ L d)
    (hGenerate : IntermediateField.adjoin ℚ ({α} : Set L) = ⊤) :
    Algebra.trace ℚ L α = 0
ClassFieldTower.Sawin.norm_quadratic_generator

A square-root generator of square d has norm -d.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
namespace ClassFieldTower.Sawin
variable (L : Type u) [Field L] [Algebra ℚ L]
    [Algebra.IsQuadraticExtension ℚ L]
theorem norm_quadratic_generator (d : ℚ) (α : L)
    (hSquare : α ^ 2 = algebraMap ℚ L d)
    (hGenerate : IntermediateField.adjoin ℚ ({α} : Set L) = ⊤) :
    Algebra.norm ℚ α = -d
ClassFieldTower.Sawin.trace_quadratic_coordinates

The trace is twice the constant coordinate.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
namespace ClassFieldTower.Sawin
variable (L : Type u) [Field L] [Algebra ℚ L]
    [Algebra.IsQuadraticExtension ℚ L]
theorem trace_quadratic_coordinates (d a b : ℚ) (α : L)
    (hSquare : α ^ 2 = algebraMap ℚ L d)
    (hGenerate : IntermediateField.adjoin ℚ ({α} : Set L) = ⊤) :
    Algebra.trace ℚ L (algebraMap ℚ L a + algebraMap ℚ L b * α) = 2 * a
ClassFieldTower.Sawin.norm_quadratic_affine
Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
namespace ClassFieldTower.Sawin
variable (L : Type u) [Field L] [Algebra ℚ L]
    [Algebra.IsQuadraticExtension ℚ L]
theorem norm_quadratic_affine (a b : ℚ) (α : L) :
    Algebra.norm ℚ (algebraMap ℚ L a + algebraMap ℚ L b * α) =
      a ^ 2 + a * b * Algebra.trace ℚ L α + b ^ 2 * Algebra.norm ℚ α
ClassFieldTower.Sawin.norm_quadratic_coordinates

The norm is the binary quadratic form a² - d b².

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
namespace ClassFieldTower.Sawin
variable (L : Type u) [Field L] [Algebra ℚ L]
    [Algebra.IsQuadraticExtension ℚ L]
theorem norm_quadratic_coordinates (d a b : ℚ) (α : L)
    (hSquare : α ^ 2 = algebraMap ℚ L d)
    (hGenerate : IntermediateField.adjoin ℚ ({α} : Set L) = ⊤) :
    Algebra.norm ℚ (algebraMap ℚ L a + algebraMap ℚ L b * α) = a ^ 2 - d * b ^ 2