FormalConjectures/Wikipedia/RegularPrimes.lean

GitHub source file

Explanation legend Lean4 Domain Explanation Language (L4DEL)

L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.

L4DEL
Lean4 Domain Explanation Language

Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.

Project sources: Pinned project documentation, Formal Conjectures paper, arXiv v1

9 declarations, 5 contain sorry, 0 declared as axioms

Infinite Regular Primes

We define the notion of regular primes, which are prime numbers that are coprime with the cardinality of the class group of the p-th cyclotomic field. We also state that there are infinitely many regular primes.

Reference: Wikipedia

Imports (1)
  1. def RegularPrimes.IsRegularPrime A natural prime number p is regular if p is coprime with the order of the class group of the p-th cyclotomic field line 40 source

    Source documentation

    A natural prime number p is regular if p is coprime with the order of the class group of the p-th cyclotomic field.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Fact, Nat.Prime

    Proof uses: Nat.Coprime, Fintype.card, ClassGroup, NumberField.RingOfIntegers, CyclotomicField, Rat

    7 instances, coercions and auxiliary constants left out.

    noncomputable def IsRegularPrime [Fact p.Prime] : Prop :=
    …
  2. theorem RegularPrimes.not_isRegularPrime_37 The prime 37 is not a regular prime sorry line 45 source

    Source documentation

    The prime 37 is not a regular prime.

    depends on sorry what this means

    Statement uses: Not, RegularPrimes.IsRegularPrime, OfNat.ofNat, Nat

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    4 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

    Open to load the checked before-and-after goal states.

    theorem not_isRegularPrime_37 : ¬ @IsRegularPrime 37 (by decide) := by
    …

    Mentions: RegularPrimes.IsRegularPrime

  3. def RegularPrimes.regularPrimes The set of regular primes line 49 source

    Source documentation

    The set of regular primes.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Set, Nat

    Proof uses: Set.ofPred, Exists, Nat.Prime, RegularPrimes.IsRegularPrime

    1 instances, coercions and auxiliary constants left out.

    def regularPrimes : Set ℕ := { p | ∃ (hp : Nat.Prime p), @IsRegularPrime p ⟨hp⟩ }

    Mentions: RegularPrimes.IsRegularPrime

  4. def RegularPrimes.irregularPrimes The set of irregular primes line 52 source

    Source documentation

    The set of irregular primes.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Set, Nat

    Proof uses: Set.ofPred, Exists, Nat.Prime, Not, RegularPrimes.IsRegularPrime

    1 instances, coercions and auxiliary constants left out.

    def irregularPrimes : Set ℕ := { p | ∃ (hp : Nat.Prime p), ¬ @IsRegularPrime p ⟨hp⟩ }
    …

    Mentions: RegularPrimes.IsRegularPrime

  5. lemma RegularPrimes.small_regular_primes The primes 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, and 31 are regular sorry line 56 source

    Source documentation

    The primes 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, and 31 are regular.

    depends on sorry what this means

    Statement uses: LE.le, Set, Nat, Insert.insert, OfNat.ofNat, Singleton.singleton, RegularPrimes.regularPrimes

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    8 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    lemma small_regular_primes :
        { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31 } ⊆ regularPrimes := by
    …

    Mentions: RegularPrimes.regularPrimes

  6. theorem RegularPrimes.isRegularPrime_iff_Bernoulli Kummer's criterion sorry line 64 source

    Source documentation

    Kummer's criterion. An equivalent definition of a regular prime p is that it does not divide the numerator of any of the Bernoulli numbers $B_k$ for $k = 2, 4, 6, \dots, p - 3$. Not in Mathlib.

    depends on sorry what this means

    Statement uses: Nat, Fact, Nat.Prime, Iff, RegularPrimes.IsRegularPrime, Membership.mem, Finset, Finset.Icc, OfNat.ofNat, HSub.hSub, Even, Not, Dvd.dvd, Int, Rat.num, bernoulli'

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    22 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem isRegularPrime_iff_Bernoulli (p : ℕ) [Fact p.Prime] :
        IsRegularPrime p ↔ ∀ k ∈ Finset.Icc 2 (p - 3), Even k → ¬ (p : ℤ) ∣ (bernoulli' k).num := by
    …

    Mentions: RegularPrimes.IsRegularPrime

  7. theorem RegularPrimes.infinitude_of_irregularprimes The set of irregular primes is infinite sorry line 70 source

    Source documentation

    The set of irregular primes is infinite.

    depends on sorry what this means

    Statement uses: Set.Infinite, Nat, RegularPrimes.irregularPrimes

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous, OfNat.ofNat

    1 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem infinitude_of_irregularprimes : irregularPrimes.Infinite := by
    …
  8. def RegularPrimes.RegularPrimeConjecture Conjecture: The set of regular primes is infinite line 74 source

    Source documentation

    Conjecture: The set of regular primes is infinite.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Proof uses: Set.Infinite, Nat, RegularPrimes.regularPrimes

    def RegularPrimeConjecture : Prop :=
    …
  9. theorem RegularPrimes.regularprime_conjecture Conjecture: The set of regular primes is infinite sorry line 79 source

    Source documentation

    Conjecture: The set of regular primes is infinite.

    depends on sorry what this means

    Statement uses: RegularPrimes.RegularPrimeConjecture

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous, OfNat.ofNat, Nat

    1 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem regularprime_conjecture : RegularPrimeConjecture := by
    …

    Mentions: RegularPrimes.RegularPrimeConjecture