Documentation

LeanPool.PebblingLean.UpperBoundLoss

Loss bookkeeping for the recursive upper bound #

The probabilistic and product arguments produce a recursive construction. After normalizing by (4/3)^n, the remaining analytic issue is to show that the multiplicative losses accumulated along the dimension recursion stay bounded.

This file formalizes that bookkeeping abstractly. It does not choose the final parameters yet; instead, it proves the deterministic theorem that a bounded finite loss sum gives a uniform normalized-cost bound.

The k-fold iterate of a dimension-reduction map, written recursively so the recurrence proofs can unfold cleanly.

Equations
Instances For

    ActiveFor next n0 k n means that the first k dimensions encountered from n are still in the recursive range n0 ≤ dimension.

    Equations
    Instances For

      Product of the multiplicative losses accumulated over k recursive steps.

      Equations
      Instances For
        def PebblingLean.Hypercube.LossRecurrence.lossSum (next : ) (loss : ) :

        Sum of the additive losses accumulated over k recursive steps.

        Equations
        Instances For
          theorem PebblingLean.Hypercube.LossRecurrence.lossProduct_nonneg {next : } {loss : } (hloss : ∀ (n : ), 0 loss n) (k n : ) :
          0 lossProduct next loss k n
          theorem PebblingLean.Hypercube.LossRecurrence.cost_le_lossProduct {next : } {loss R : } {n0 : } (hloss : ∀ (n : ), 0 loss n) (hstep : ∀ (n : ), n0 nR n (1 + loss n) * R (next n)) (k n : ) (hactive : ActiveFor next n0 k n) :
          R n lossProduct next loss k n * R (iterate next k n)

          Iterating a normalized recurrence gives a finite product of the losses times the terminal normalized cost.

          theorem PebblingLean.Hypercube.LossRecurrence.cost_le_lossProduct_mul_base {next : } {loss R : } {n0 k n : } {B : } (hloss : ∀ (n : ), 0 loss n) (hstep : ∀ (n : ), n0 nR n (1 + loss n) * R (next n)) (hactive : ActiveFor next n0 k n) (hbase : R (iterate next k n) B) :
          R n lossProduct next loss k n * B

          Version of cost_le_lossProduct with the terminal cost bounded by a specified base constant.

          theorem PebblingLean.Hypercube.LossRecurrence.lossProduct_le_exp_lossSum {next : } {loss : } (hloss : ∀ (n : ), 0 loss n) (k n : ) :
          lossProduct next loss k n Real.exp (lossSum next loss k n)

          A finite product of factors 1 + loss is bounded by the exponential of the corresponding finite sum.

          theorem PebblingLean.Hypercube.LossRecurrence.cost_le_exp_lossSum_mul_base {next : } {loss R : } {n0 k n : } {B : } (hloss : ∀ (n : ), 0 loss n) (hB : 0 B) (hstep : ∀ (n : ), n0 nR n (1 + loss n) * R (next n)) (hactive : ActiveFor next n0 k n) (hbase : R (iterate next k n) B) :
          R n Real.exp (lossSum next loss k n) * B

          Exponential version of the finite recurrence bound.

          theorem PebblingLean.Hypercube.LossRecurrence.cost_le_exp_lossBound_mul_base {next : } {loss R : } {n0 k n : } {B L : } (hloss : ∀ (n : ), 0 loss n) (hB : 0 B) (hstep : ∀ (n : ), n0 nR n (1 + loss n) * R (next n)) (hactive : ActiveFor next n0 k n) (hbase : R (iterate next k n) B) (hsum : lossSum next loss k n L) :
          R n Real.exp L * B

          If the accumulated additive loss is at most L, the normalized cost is bounded by exp L times the terminal base bound.

          theorem PebblingLean.Hypercube.LossRecurrence.exists_terminal_iterate_of_decreasing {next : } {n0 : } (hnext : ∀ (n : ), n0 nnext n < n) (n : ) :
          ∃ (k : ), ActiveFor next n0 k n iterate next k n < n0

          A strictly decreasing dimension map always reaches the finite base range after finitely many recursive steps.

          The finite geometric sum 1 + q + ... + q^(k-1).

          Equations
          Instances For
            theorem PebblingLean.Hypercube.LossRecurrence.geomSum_le_two_of_le_half {q : } (hq_nonneg : 0 q) (hq_half : q 1 / 2) (k : ) :
            geomSum q k 2
            theorem PebblingLean.Hypercube.LossRecurrence.first_loss_le_pow_mul_bound {next : } {loss : } {n0 : } {q M : } (hq_nonneg : 0 q) (hdecay : ∀ (n : ), n0 nn0 next nloss n q * loss (next n)) (hbound : ∀ (n : ), n0 nloss n M) (k n : ) (hactive : ActiveFor next n0 (k + 1) n) :
            loss n q ^ k * M

            If every active loss is at most q times the next active loss, and active losses are bounded by M, then the first loss in a path of length k+1 is at most q^k M.

            theorem PebblingLean.Hypercube.LossRecurrence.lossSum_le_geomSum_mul_bound {next : } {loss : } {n0 : } {q M : } (hq_nonneg : 0 q) (hdecay : ∀ (n : ), n0 nn0 next nloss n q * loss (next n)) (hbound : ∀ (n : ), n0 nloss n M) (k n : ) (hactive : ActiveFor next n0 k n) :
            lossSum next loss k n geomSum q k * M

            Geometric domination of a finite loss sum along an active recursive path.

            theorem PebblingLean.Hypercube.LossRecurrence.cost_uniform_bound_of_geometric_loss {next : } {loss R : } {n0 : } {B q M G : } (hloss : ∀ (n : ), 0 loss n) (hB : 0 B) (hM : 0 M) (hq_nonneg : 0 q) (hnext : ∀ (n : ), n0 nnext n < n) (hstep : ∀ (n : ), n0 nR n (1 + loss n) * R (next n)) (hbase : n < n0, R n B) (hdecay : ∀ (n : ), n0 nn0 next nloss n q * loss (next n)) (hbound : ∀ (n : ), n0 nloss n M) (hgeom : ∀ (k : ), geomSum q k G) (n : ) :
            R n Real.exp (G * M) * B

            Uniform normalized-cost bound when the loss sequence decays geometrically along recursive paths.

            theorem PebblingLean.Hypercube.LossRecurrence.cost_uniform_bound_of_geometric_loss_le_two {next : } {loss R : } {n0 : } {B q M : } (hloss : ∀ (n : ), 0 loss n) (hB : 0 B) (hM : 0 M) (hq_nonneg : 0 q) (hq_half : q 1 / 2) (hnext : ∀ (n : ), n0 nnext n < n) (hstep : ∀ (n : ), n0 nR n (1 + loss n) * R (next n)) (hbase : n < n0, R n B) (hdecay : ∀ (n : ), n0 nn0 next nloss n q * loss (next n)) (hbound : ∀ (n : ), n0 nloss n M) (n : ) :
            R n Real.exp (2 * M) * B

            Convenient geometric-loss bound for ratio at most 1/2, giving total loss at most 2M. The paper's recursion has a much smaller ratio (1/16) after increasing the base threshold, so this intentionally uses a relaxed constant.

            theorem PebblingLean.Hypercube.LossRecurrence.cost_uniform_bound_of_terminal_lossBound {next : } {loss R : } {n0 : } {B L : } (hloss : ∀ (n : ), 0 loss n) (hB : 0 B) (hstep : ∀ (n : ), n0 nR n (1 + loss n) * R (next n)) (hbase : n < n0, R n B) (hterminal : ∀ (n : ), ∃ (k : ), ActiveFor next n0 k n iterate next k n < n0 lossSum next loss k n L) (n : ) :
            R n Real.exp L * B

            Uniform normalized-cost bound from an explicit terminal path and a bound on the loss accumulated along that path.

            theorem PebblingLean.Hypercube.LossRecurrence.cost_uniform_bound_of_decreasing_lossBound {next : } {loss R : } {n0 : } {B L : } (hloss : ∀ (n : ), 0 loss n) (hB : 0 B) (hnext : ∀ (n : ), n0 nnext n < n) (hstep : ∀ (n : ), n0 nR n (1 + loss n) * R (next n)) (hbase : n < n0, R n B) (hlossSum : ∀ (n k : ), ActiveFor next n0 k niterate next k n < n0lossSum next loss k n L) (n : ) :
            R n Real.exp L * B

            Uniform normalized-cost bound for a decreasing dimension map, assuming a separate estimate on every terminal loss sum.

            noncomputable def PebblingLean.Hypercube.normalizedCost (costBound : ) (n : ) :

            Normalized integer cost bound, divided by (4/3)^n.

            Equations
            Instances For
              theorem PebblingLean.Hypercube.normalizedCost_nonneg (costBound : ) (n : ) :
              0 normalizedCost costBound n
              noncomputable def PebblingLean.Hypercube.finiteBaseNormalizedBound (costBound : ) (n0 : ) :

              A concrete finite bound for the normalized costs below a cutoff. This is not optimized; it is just a convenient way to discharge finite base cases.

              Equations
              Instances For

                Real-valued asymptotic upper-bound statement: for every dimension n, there is an ordinary solvable distribution whose size is at most C * (4/3)^n.

                Equations
                Instances For
                  theorem PebblingLean.Hypercube.costBound_le_of_normalizedCost_le {costBound : } {C : } (hnorm : ∀ (n : ), normalizedCost costBound n C) (n : ) :
                  (costBound n) C * (4 / 3) ^ n

                  Convert an integer-valued cost-bound construction plus a real normalized cost estimate into the real asymptotic upper-bound statement.

                  theorem PebblingLean.Hypercube.hasRealHypercubePebblingUpperBound_of_geometric_normalizedCost_loss {costBound next : } {loss : } {n0 : } {B q M : } (hupper : HasHypercubePebblingUpperBound costBound) (hloss : ∀ (n : ), 0 loss n) (hB : 0 B) (hM : 0 M) (hq_nonneg : 0 q) (hq_half : q 1 / 2) (hnext : ∀ (n : ), n0 nnext n < n) (hstep : ∀ (n : ), n0 nnormalizedCost costBound n (1 + loss n) * normalizedCost costBound (next n)) (hbase : n < n0, normalizedCost costBound n B) (hdecay : ∀ (n : ), n0 nn0 next nloss n q * loss (next n)) (hbound : ∀ (n : ), n0 nloss n M) :

                  Final abstract bridge from the geometric normalized-cost recurrence to the real asymptotic upper-bound statement. After the numerical parameter choices prove the hypotheses here, this is the formal end of the upper-bound proof.