pith. machine review for the scientific record. sign in
theorem

hasse_implies_arccos_valid

proved
show as:
view math explainer →
module
IndisputableMonolith.NumberTheory.HilbertPolyaFunctionField
domain
NumberTheory
line
96 · github
papers citing
none yet

open explainer

Generate a durable explainer page for this declaration.

open lean source

IndisputableMonolith.NumberTheory.HilbertPolyaFunctionField on GitHub at line 96.

browse module

All declarations in this module, on Recognition.

explainer page

Tracked in the explainer inventory; generation is lazy so crawlers do not trigger LLM jobs.

open explainer

depends on

used by

formal source

  93content of the Hasse--Weil bound. -/
  94
  95/-- If the Hasse bound `a^2 ≤ 4q` holds, then `a / (2√q) ∈ [-1, 1]`. -/
  96theorem hasse_implies_arccos_valid
  97    (q : ℕ) (hq : 0 < q) (a : ℤ) (h_hasse : hasseBound q a) :
  98    ((a : ℝ) / (2 * Real.sqrt (q : ℝ))) ∈ Set.Icc (-1 : ℝ) 1 := by
  99  unfold hasseBound at h_hasse
 100  have hq_pos : (0 : ℝ) < (q : ℝ) := by exact_mod_cast hq
 101  have hsqrt_pos : 0 < Real.sqrt (q : ℝ) := Real.sqrt_pos.mpr hq_pos
 102  have h2sqrt_pos : 0 < 2 * Real.sqrt (q : ℝ) := by linarith
 103  have h_sqrt_sq : (Real.sqrt (q : ℝ)) ^ 2 = (q : ℝ) :=
 104    Real.sq_sqrt (le_of_lt hq_pos)
 105  -- |a|^2 = a^2 ≤ 4q = (2√q)^2, so |a| ≤ 2√q.
 106  have h_abs_sq : |(a : ℝ)| ^ 2 ≤ (2 * Real.sqrt (q : ℝ)) ^ 2 := by
 107    rw [_root_.sq_abs]
 108    have h_rhs : (2 * Real.sqrt (q : ℝ)) ^ 2 = 4 * (q : ℝ) := by
 109      rw [mul_pow, h_sqrt_sq]; ring
 110    rw [h_rhs]
 111    exact h_hasse
 112  -- Take square roots: |a| ≤ 2√q.
 113  have h_abs_a : |(a : ℝ)| ≤ 2 * Real.sqrt (q : ℝ) := by
 114    have h_abs_nonneg : 0 ≤ |(a : ℝ)| := abs_nonneg _
 115    have h_2sq_nonneg : 0 ≤ 2 * Real.sqrt (q : ℝ) := le_of_lt h2sqrt_pos
 116    nlinarith [h_abs_sq, sq_nonneg (|(a : ℝ)| + 2 * Real.sqrt (q : ℝ))]
 117  -- |a / (2√q)| ≤ 1.
 118  rw [Set.mem_Icc, ← abs_le]
 119  rw [abs_div, abs_of_pos h2sqrt_pos]
 120  exact (div_le_one h2sqrt_pos).mpr h_abs_a
 121
 122/-! ## The unconditional Hilbert--Pólya statement -/
 123
 124/-- **The Function-Field Hilbert--Pólya Theorem (Elliptic-Curve Case).**
 125
 126    For any elliptic curve `E / F_q` satisfying the Hasse--Weil bound