Documentation

GQ2.UnramifiedQuadraticNorms

B11b-1 — the quadratic layer · B11b-2 — the residue layer #

Proves the former axiom interface B11b (unramifiedQuadratic_units_are_norms) in-repo. This file is the quadratic layer (lane B, §1(Q)+(D)): the conjugation σ, k-coordinates on k⟮δa⟯, the norm/trace forms, and the degenerate δa ∈ k case. Imports Mathlib only (the B13 filtration and the σ-free Teichmüller bricks of GQ2.TeichmullerLift enter later, at the engine B11b-3).

For k ≤ ℚ̄₂ finite and δa ∈ ℚ̄₂ with δa² = a ∈ kˣ, δa ∉ k:

The residue layer below builds on the quadratic layer and the σ-free bricks of GQ2.TeichmullerLift:

The residue-field inputs of the crux stay hypothesis-abstracted (q, hqn, hqodd, hlag — Lagrange ‖z^q − z‖ < 1 at L; π, hπmax — the shared uniformizer): B11b-3 discharges them from the B13 filtration at L (q := 2^F, q − 1 odd).

Galois invariance of the spectral norm #

theorem GQ2.UnramifiedQuadraticNorms.norm_galois (g : Gal(AlgebraicClosure ℚ_[2]/ℚ_[2])) (x : AlgebraicClosure ℚ_[2]) :
g x = x

Galois invariance of the spectral norm on ℚ̄₂ (re-port of HilbertLedger.norm_galois, which is downstream of the axiom file). The extension norm on an algebraic extension of a complete field is unique, so it is invariant under every ℚ₂-algebra automorphism.

theorem GQ2.UnramifiedQuadraticNorms.norm_conj_eq (k : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])) (σ : Gal(AlgebraicClosure ℚ_[2]/k)) (x : AlgebraicClosure ℚ_[2]) :
σ x = x

σ preserves the spectral norm (σ is ↥k-linear, a fortiori ℚ₂-linear).

The -membership port and the conjugation #

theorem GQ2.UnramifiedQuadraticNorms.mem_bot_iff_mem (k : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])) (x : AlgebraicClosure ℚ_[2]) :
x x k

Membership in ⊥ : IntermediateField ↥k ℚ̄₂ is membership in k (re-port of QuadraticAdjoin.mem_bot_iff_mem).

theorem GQ2.UnramifiedQuadraticNorms.exists_conj {k : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])} {δa : AlgebraicClosure ℚ_[2]} {d : k} (hδ2 : δa ^ 2 = d) (hδk : δak) :
∃ (σ : Gal(AlgebraicClosure ℚ_[2]/k)), σ δa = -δa

The conjugation σ : ℚ̄₂ ≃ₐ[↥k] ℚ̄₂ with σδa = −δa (re-port of QuadraticAdjoin.exists_conj): built from the infinite Galois correspondence (fixedField ⊤ = ⊥), with (σδa)² = δa² forcing the sign.

Coordinate action, norm, and trace #

theorem GQ2.UnramifiedQuadraticNorms.conj_base {k : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])} (σ : Gal(AlgebraicClosure ℚ_[2]/k)) (x : k) :
σ x = x

σ fixes the base: σ (x : ℚ̄₂) = x for x ∈ ↥k.

theorem GQ2.UnramifiedQuadraticNorms.conj_apply {k : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])} {δa : AlgebraicClosure ℚ_[2]} {σ : Gal(AlgebraicClosure ℚ_[2]/k)} ( : σ δa = -δa) (x y : k) :
σ (x + y * δa) = x - y * δa

The conjugation on k-coordinates: σ(x + yδa) = x − yδa.

theorem GQ2.UnramifiedQuadraticNorms.norm_coord {k : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])} {δa : AlgebraicClosure ℚ_[2]} {a : (↥k)ˣ} (hδa : δa ^ 2 = a) (x y : k) :
(x + y * δa) * (x - y * δa) = (x ^ 2 - a * y ^ 2)

The norm form: (x + yδa)(x − yδa) = x² − a y² in ↥k (with δa² = a).

theorem GQ2.UnramifiedQuadraticNorms.trace_coord {k : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])} {δa : AlgebraicClosure ℚ_[2]} (x y : k) :
x + y * δa + (x - y * δa) = (x + x)

The trace form: (x + yδa) + (x − yδa) = x + x (= 2x ∈ k).

Coordinates exist on the adjoin #

theorem GQ2.UnramifiedQuadraticNorms.minpoly_natDegree_eq_two {k : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])} {δa : AlgebraicClosure ℚ_[2]} {d : k} (hδ2 : δa ^ 2 = d) (hδk : δak) :
(minpoly (↥k) δa).natDegree = 2

The ↥k-minimal polynomial of δa (with δa² = d, δa ∉ k) has degree 2.

theorem GQ2.UnramifiedQuadraticNorms.exists_coords {k : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])} {δa : AlgebraicClosure ℚ_[2]} {d : k} (hδ2 : δa ^ 2 = d) (hδk : δak) {z : AlgebraicClosure ℚ_[2]} (hz : z (↥k)δa) :
∃ (x : k) (y : k), z = x + y * δa

Coordinates: every z ∈ ↥k⟮δa⟯ is x + yδa for unique x, y ∈ k (re-port of QuadraticAdjoin.exists_coords, p %ₘ minpoly remainder).

theorem GQ2.UnramifiedQuadraticNorms.conj_fixed_iff {k : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])} {δa : AlgebraicClosure ℚ_[2]} {d : k} (hδ2 : δa ^ 2 = d) (hδk : δak) {σ : Gal(AlgebraicClosure ℚ_[2]/k)} ( : σ δa = -δa) {z : AlgebraicClosure ℚ_[2]} (hz : z (↥k)δa) :
σ z = z z k

On ↥k⟮δa⟯, σ fixes exactly k: σz = z ↔ z ∈ k.

The degenerate case δa ∈ k #

theorem GQ2.UnramifiedQuadraticNorms.norm_form_of_mem {k : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])} {a : (↥k)ˣ} {δa : AlgebraicClosure ℚ_[2]} (hδa : δa ^ 2 = a) (hmem : δa k) (u : k) :
∃ (x : k) (y : k), u = x ^ 2 - a * y ^ 2

Degenerate case: if δa ∈ k (so a is already a square in k), every u ∈ ↥k is a norm x² − a y² — solve (x − δ'y)(x + δ'y) = u with x = (1+u)/2, y = (u−1)/(2δ').

The residue layer (B11b-2, lane B closure) #

‖2‖ < 1 in ℚ̄₂ (the spectral norm extends the 2-adic norm).

theorem GQ2.UnramifiedQuadraticNorms.le_of_conj_residue_trivial {k L : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])} [FiniteDimensional ℚ_[2] k] [FiniteDimensional ℚ_[2] L] (hkL : k L) {δa : AlgebraicClosure ℚ_[2]} {d : k} (hδ2 : δa ^ 2 = d) (hδk : δak) {σ : Gal(AlgebraicClosure ℚ_[2]/k)} ( : σ δa = -δa) (hLadj : zL, z (↥k)δa) {π : AlgebraicClosure ℚ_[2]} (hπk : π k) (hπ0 : π 0) (hπ1 : π < 1) (hπmax : zL, z < 1z π) {q : } (hqn : q < 1) (hqodd : Odd (q - 1)) (hlag : zL, z 1z ^ q - z < 1) (hσid : zL, z 1σ z - z < 1) :
L k

The residue crux (plan §1(R)3, "σ̄ = id ⟹ L = k"), in pure norm vocabulary. If the conjugation is trivial on residues — ‖σz − z‖ < 1 for every integral z ∈ L — then L ≤ k: a norm-one z ∈ L has a Teichmüller representative ω (exists_teichmuller, using the Lagrange input hlag), whose conjugate σω is a root of unity of the same odd order q − 1 in the same residue class, so odd-root separation (norm_sub_eq_one_of_pow_eq_one) forces σω = ω, i.e. ω ∈ k (conj_fixed_iff); thus every residue of L lies in k, and successive approximation (le_of_shared_uniformizer) closes L ≤ k.

The residue-field inputs are hypothesis-abstracted (B11b-3 supplies them from the B13 filtration at L): q with ‖q‖ < 1 and q − 1 odd (q = 2^F), Lagrange hlag, and the shared uniformizer π.

theorem GQ2.UnramifiedQuadraticNorms.exists_conj_unit {k L : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])} [FiniteDimensional ℚ_[2] k] [FiniteDimensional ℚ_[2] L] (hkL : k L) {δa : AlgebraicClosure ℚ_[2]} {d : k} (hδ2 : δa ^ 2 = d) (hδk : δak) (hδaL : δa L) {σ : Gal(AlgebraicClosure ℚ_[2]/k)} ( : σ δa = -δa) (hLadj : zL, z (↥k)δa) {π : AlgebraicClosure ℚ_[2]} (hπk : π k) (hπ0 : π 0) (hπ1 : π < 1) (hπmax : zL, z < 1z π) {q : } (hqn : q < 1) (hqodd : Odd (q - 1)) (hlag : zL, z 1z ^ q - z < 1) :
z₁L, z₁ 1 σ z₁ - z₁ = 1

σ̄ ≠ id, in contrapositive form: with δa ∈ L ∖ k witnessing ¬(L ≤ k), some integral z₁ ∈ L has ‖σz₁ − z₁‖ = 1 — the conjugation moves a residue.

theorem GQ2.UnramifiedQuadraticNorms.trace_covers {k L : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])} [FiniteDimensional ℚ_[2] k] [FiniteDimensional ℚ_[2] L] (hkL : k L) {δa : AlgebraicClosure ℚ_[2]} {d : k} (hδ2 : δa ^ 2 = d) (hδk : δak) (hδaL : δa L) {σ : Gal(AlgebraicClosure ℚ_[2]/k)} ( : σ δa = -δa) (hLadj : zL, z (↥k)δa) {π : AlgebraicClosure ℚ_[2]} (hπk : π k) (hπ0 : π 0) (hπ1 : π < 1) (hπmax : zL, z < 1z π) {q : } (hqn : q < 1) (hqodd : Odd (q - 1)) (hlag : zL, z 1z ^ q - z < 1) (c : AlgebraicClosure ℚ_[2]) :
c kc 1zL, z 1 z + σ z = c

Trace coverage. The trace s(z) = z + σz hits every integral element of k from an integral element of L: the witness z₁ of σ̄ ≠ id has unit trace value t := s(z₁) = 2x ∈ k (z₁ = x + yδa; s(z₁) differs from σz₁ − z₁ by 2z₁, of norm < 1), and s is k-linear, so z := (c/t)·z₁ does it. No residue-field interface and no mod 𝔪 bookkeeping: the covering is on the nose.

The approximation engine (B11b-3) — filtration helpers #

theorem GQ2.UnramifiedQuadraticNorms.norm_one_add {x : AlgebraicClosure ℚ_[2]} (hx : x < 1) :
1 + x = 1

‖1 + x‖ = 1 when ‖x‖ < 1 (ultrametric: the unit dominates).

theorem GQ2.UnramifiedQuadraticNorms.coe_units_pow {K : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])} (v : (↥K)ˣ) (n : ) :
(v ^ n) = v ^ n

The (↥K)ˣ → ↥K → ℚ̄₂ coercion commutes with powers.

theorem GQ2.UnramifiedQuadraticNorms.pow_card_sub_one_mem (K : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])) [FiniteDimensional ℚ_[2] K] (fil : DyadicUnitFiltration K) {u : (↥K)ˣ} (hu : u normUnits K) :
u ^ (2 ^ fil.f - 1) depthUnits K fil.π 1

Lagrange in U⁰/U¹ — the single group-theoretic input behind both residue facts. The graded piece U⁰_K/U¹_K is a finite group of order 2^f − 1 (card_gr_zero), so every norm-one unit u satisfies u^{2^f − 1} ∈ U¹_K.

theorem GQ2.UnramifiedQuadraticNorms.exists_sq_approx (K : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])) [FiniteDimensional ℚ_[2] K] (fil : DyadicUnitFiltration K) {u : (↥K)ˣ} (hu : u normUnits K) :
xnormUnits K, u - x ^ 2 fil.π

Depth-1 start (the square residue layer, via Lagrange with x := u^{2^{f−1}}): a norm-one unit is a square modulo . Since 2·2^{f−1} = 2^f, x² = u^{2^f} and u^{2^f} − u = u(u^{2^f−1} − 1) with u^{2^f−1} ∈ U¹.

theorem GQ2.UnramifiedQuadraticNorms.lagrange_pow_sub (L : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])) [FiniteDimensional ℚ_[2] L] (fil : DyadicUnitFiltration L) {z : AlgebraicClosure ℚ_[2]} (hzL : z L) (hz1 : z 1) :
z ^ 2 ^ fil.f - z < 1

The Lagrange input hlag for trace_covers at L: with q := 2^F (F the residue degree of L), ‖z^q − z‖ < 1 for every integral z ∈ L. Unit case: Lagrange (z^{q−1} ∈ U¹_L); non-unit case: ultrametric on ‖z‖ < 1.

theorem GQ2.UnramifiedQuadraticNorms.units_are_norms_nondegen (k : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])) [FiniteDimensional ℚ_[2] k] {a : (↥k)ˣ} {δa : AlgebraicClosure ℚ_[2]} (hδ2 : δa ^ 2 = a) (hδk : δak) (hunram : ∀ (z : AlgebraicClosure ℚ_[2]), z 0(∃ (x : k) (y : k), z = x + y * δa)∃ (w : k), w 0 z = w) (u : (↥k)ˣ) :
u = 1∃ (x : k) (y : k), u = x ^ 2 - a * y ^ 2

The engine (non-degenerate case). For δa ∉ k, every norm-one unit of k is a value of the norm form x² − a y². Sets up L = k(δa), the conjugation σ, the shared uniformizer π (via hunram), and the residue data at L, then runs the successive-approximation engine against trace_covers.

hunram is IsUnramifiedQuadraticSpectral k δa written unfolded — that predicate is a plain def in the (downstream) axiom file, so it cannot be named here; the B11b flip supplies it definitionally.

theorem GQ2.UnramifiedQuadraticNorms.unramifiedQuadratic_units_are_norms' (k : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])) [FiniteDimensional ℚ_[2] k] (a : (↥k)ˣ) (δa : AlgebraicClosure ℚ_[2]) (hδa : δa ^ 2 = a) (hunram : ∀ (z : AlgebraicClosure ℚ_[2]), z 0(∃ (x : k) (y : k), z = x + y * δa)∃ (w : k), w 0 z = w) (u : (↥k)ˣ) :
u = 1∃ (x : k) (y : k), u = x ^ 2 - a * y ^ 2

The B11b capstone (B11b-4): units of an unramified quadratic extension k(√a)/k are norms — every norm-one u ∈ k is x² − a y². Dispatches the degenerate case δa ∈ k (norm_form_of_mem, the norm form is then universal) against the engine units_are_norms_nondegen.

The statement is the axiom GQ2.unramifiedQuadratic_units_are_norms (GQ2/Foundations/Axioms.lean) with IsUnramifiedQuadraticSpectral k δa written unfolded — that predicate is a plain def downstream of this file, so it cannot be named here; the B11b-5 public theorem supplies it definitionally from unramifiedQuadratic_units_are_norms' k a δa hδa hunram.