Documentation

LeanPool.Zeta32.PrimeEdge.Index

the proof notes, §6: the greedy layout for n = p - 1, layout (4,5,3).

Classes b ∈ {0, …, p-1} of the disc t = -b + p u:

A basis vector is a = ⟨b, i⟩ : Idx p with i < mult p b; its greedy level is level a = c_b + 2 i and its weight is rho a = level a / 2. kmul a d is the multiplicity of (t + d) in the CRT basis vector a, and discExp a c d = c_d + kmul a d + kmul c d is the Lemma 4 exponent of the entry (a, c) on disc d.

Multiplicity m_b of the class b in the CRT basis.

Equations
Instances For

    Greedy column base c_b = s N_b - C_b + [b = 0] - 2 for n = p - 1.

    Equations
    Instances For
      @[reducible, inline]

      Basis index: a class b and an order i < m_b.

      Equations
      Instances For
        def Zeta32.PrimeEdge.level (p : ℕ) (a : Idx p) :

        Greedy level π_a = c_b + 2 i.

        Equations
        Instances For
          def Zeta32.PrimeEdge.rho (p : ℕ) (a : Idx p) :

          Row/column weight ρ_a = π_a / 2.

          Equations
          Instances For
            def Zeta32.PrimeEdge.kmul (p : ℕ) (a : Idx p) (d : ℕ) :

            Multiplicity of (t + d) in the basis vector a.

            Equations
            Instances For
              def Zeta32.PrimeEdge.discExp (p : ℕ) (a c : Idx p) (d : ℕ) :

              Lemma 4 exponent of the entry (a, c) on the disc d.

              Equations
              Instances For
                theorem Zeta32.PrimeEdge.sum_mult {p : ℕ} (hp : 5 ≤ p) :
                ∑ b ∈ Finset.range p, mult p b = 3 * (p - 1)
                theorem Zeta32.PrimeEdge.card_Idx {p : ℕ} (hp : 5 ≤ p) :
                Fintype.card (Idx p) = 3 * (p - 1)
                theorem Zeta32.PrimeEdge.level_le_one {p : ℕ} (a : Idx p) :
                level p a ≤ 1
                theorem Zeta32.PrimeEdge.level_le_disc {p : ℕ} (a : Idx p) (d : ℕ) :
                level p a ≤ colBase p d + 2 * ↑(kmul p a d)

                Greedy property: c_d + 2 k_d(a) ≥ π_a on every disc.

                theorem Zeta32.PrimeEdge.level_add_le_discExp {p : ℕ} (a c : Idx p) (d : ℕ) :
                level p a + level p c ≤ 2 * discExp p a c d
                theorem Zeta32.PrimeEdge.level_add_lt_discExp {p : ℕ} (a c : Idx p) (hac : a.fst ≠ c.fst) (d : ℕ) :
                level p a + level p c + 1 ≤ 2 * discExp p a c d

                No tie: across two different classes the greedy inequality is strict.

                theorem Zeta32.PrimeEdge.rho_add_le_discExp {p : ℕ} (a c : Idx p) (d : ℕ) :
                rho p a + rho p c ≤ ↑(discExp p a c d)
                theorem Zeta32.PrimeEdge.rho_add_half_le_discExp {p : ℕ} (a c : Idx p) (hac : a.fst ≠ c.fst) (d : ℕ) :
                rho p a + rho p c + 1 / 2 ≤ ↑(discExp p a c d)
                theorem Zeta32.PrimeEdge.rho_add_of_same {p : ℕ} (a c : Idx p) (hac : a.fst = c.fst) :
                rho p a + rho p c = ↑(colBase p ↑a.fst + ↑↑a.snd + ↑↑c.snd)

                Same class b: ρ_a + ρ_c = c_b + i + k, an integer.