Module

SixPrimeSquareClasses.lean

Nyll.SawinTotallyRealTowers.SixPrimeSquareClasses
4 declarations indexed from sourceView source ↗

Five generators for the permitted rational square classes

A squarefree integer supported on 3, 5, 7, 11, 13, 17 divides their product. The primes 5, 13, 17 are one modulo four, while an even subset of 3, 7, 11 contributes 1, 21, 33, or 77. The last contribution is 21 * 33 / 3². This constructs an explicit rational square factor and a product of a subset of the five radicands 5, 13, 17, 21, 33.

Imports6
  • Mathlib.Algebra.BigOperators.ModEq
  • Mathlib.Algebra.BigOperators.Ring.Finset
  • Mathlib.Data.Finset.Powerset
  • Mathlib.Data.Int.Basic
  • Mathlib.Data.Nat.Squarefree
  • Mathlib.Tactic.NormNum
Imported by2

Declarations

ClassFieldTower.Sawin.dvd_sixPrimeProduct_of_squarefree_support

A squarefree natural number with the permitted prime support divides the product of the six permitted primes.

Source context 1 command

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

namespace ClassFieldTower.Sawin
theorem dvd_sixPrimeProduct_of_squarefree_support
    (n : ℕ) (hn : Squarefree n)
    (hSupport : ∀ p : ℕ, p.Prime → p ∣ n → p ∈ ({3, 5, 7, 11, 13, 17} : Finset ℕ)) :
    n ∣ 255255
ClassFieldTower.Sawin.three_negative_primes_squareClass
Source context 1 command

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

namespace ClassFieldTower.Sawin
theorem three_negative_primes_squareClass
    (s : Finset ℕ) (hs : s ⊆ {3, 7, 11}) (hMod : (∏ p ∈ s, p) % 4 = 1) :
    ∃ t : Finset ℕ, t ⊆ {21, 33} ∧
      ∃ q : ℚ, q ≠ 0 ∧ (∏ p ∈ s, (p : ℚ)) = (∏ r ∈ t, (r : ℚ)) * q ^ 2
ClassFieldTower.Sawin.exists_five_generator_squareClass_of_support

Every permitted squarefree radicand congruent to one modulo four is a product of a subset of the five generators times an explicit nonzero rational square.

Source context 1 command

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

namespace ClassFieldTower.Sawin
theorem exists_five_generator_squareClass_of_support
    (n : ℕ) (hn : Squarefree n)
    (hSupport : ∀ p : ℕ, p.Prime → p ∣ n → p ∈ ({3, 5, 7, 11, 13, 17} : Finset ℕ))
    (hMod : n % 4 = 1) :
    ∃ s : Finset ℕ, s ⊆ {5, 13, 17, 21, 33} ∧
      ∃ q : ℚ, q ≠ 0 ∧ (n : ℚ) = (∏ r ∈ s, (r : ℚ)) * q ^ 2
ClassFieldTower.Sawin.exists_five_generator_squareClass_of_int_support

The square-class decomposition for a nonnegative integer radicand, with the support expressed by divisibility in the integers.

Source context 1 command

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

namespace ClassFieldTower.Sawin
theorem exists_five_generator_squareClass_of_int_support
    (d : ℤ) (hdNonneg : 0 ≤ d) (hd : Squarefree d.natAbs)
    (hSupport : ∀ p : ℕ, p.Prime → (p : ℤ) ∣ d →
      p ∈ ({3, 5, 7, 11, 13, 17} : Finset ℕ))
    (hMod : d % 4 = 1) :
    ∃ s : Finset ℕ, s ⊆ {5, 13, 17, 21, 33} ∧
      ∃ q : ℚ, q ≠ 0 ∧ (d : ℚ) = (∏ r ∈ s, (r : ℚ)) * q ^ 2