Documentation

MIPRE.Tailored.Repeat.LenCost

The running time of the repeated answer-length calculator #

repLen_timeBound: with the input sampler and calculator within R at index n, the repeated calculator halts on every input (n, d) within c (W + 1)^m (|d| + 1)^{e (R.k + 1)}, for a bound W on the parameters (LenDom) and constants c, m, e independent of everything. The proof follows the stages of lenCore_runsLe: the calls to the input programs are bounded by their time bounds through the universal machine, every query to the calculator being of size linear in |d| (size_lenQs_le), and the polynomial-time stages by dom_poly.

Sizes #

theorem MIPRE.Tailored.RepProg.mem_lenQs {n : ℕ} {d : Cost.Data} {s k : ℕ} {q : Cost.Data} (hq : q ∈ lenQs n d s k) :
∃ (xi : Cost.BitStr) (b : Bool), q = Cost.encode (n, xi, b) ∧ Cost.esize xi ≤ 4 * d.size + 1

Every query to the input calculator is (n, xᵢ, κ) with xᵢ a block of the question, of size linear in the input.

theorem MIPRE.Tailored.RepProg.length_lenQs (n : ℕ) (d : Cost.Data) (s k : ℕ) :
(lenQs n d s k).length = 2 * k

The cost of the core, dominated #

theorem MIPRE.Tailored.RepProg.dom_lenCoreCost (cd md ed cT mT eT cZ mZ eZ : ℕ) :
∃ (c : ℕ) (m : ℕ) (e : ℕ), ∀ (W X K : ℕ) {sp lp : Cost.Prog} {lam tau n : ℕ} {d : Cost.Data} {s k Td T Z : ℕ} {rs : List Cost.Data}, 1 ≤ X → 1 ≤ W → d.size + 1 ≤ X → Cost.esize sp ≤ W → Cost.esize lp ≤ W → lam ≤ W → tau ≤ W → n ≤ W → s ≤ W → k ≤ W → Repeat.Dom W X K cd md ed Td → Repeat.Dom W X K cT mT eT T → Repeat.Dom W X K cZ mZ eZ Z → (Cost.Data.list (lenQs n d s k)).size ≤ Z → (Cost.Data.list rs).size ≤ Z → Repeat.Dom W X K c m e (lenCoreCost sp lp lam tau n d s k Td T Z rs)

The cost of the core is dominated, given dominations of the dimension query's cost Td, the calls' cost T, and the bound Z on the last loop.

The time bound #

structure MIPRE.Tailored.RepProg.LenDom {ℓ : ℕ} (S : CL.Sampler ℓ) (L : Decider) (lam tau n : ℕ) (R : Budget) (W : ℕ) :

The parameters of the repeated calculator at index n, bounded by W.

Instances For

    The dimension query through the universal machine, within its bound.

    theorem MIPRE.Tailored.RepProg.len_calls_le (L : Decider) (n : ℕ) (R : Budget) (hL : L.TimeBoundAt n R.D R.k) (d : Cost.Data) (s k : ℕ) (q : Cost.Data) :

    The calls to the input calculator through the universal machine, within a common bound.

    theorem MIPRE.Tailored.RepProg.dom_yCall :
    ∃ (c : ℕ) (m : ℕ) (e : ℕ), ∀ (W X K : ℕ) {p n D : ℕ} {d : Cost.Data}, 1 ≤ X → 10 ^ K ≤ W → p ≤ W → n ≤ W → D ≤ W → d.size + 1 ≤ X → Repeat.Dom W X K c m e (p + (Cost.esize n + 4 * d.size + 6) + D * (4 * d.size + 6) ^ K)

    The argument of the calls' bound, dominated.

    The bound on the queries and results of the loop of calls.

    Equations
    Instances For
      theorem MIPRE.Tailored.RepProg.dom_lenZ (cT mT eT : ℕ) :
      ∃ (c : ℕ) (m : ℕ) (e : ℕ), ∀ (W X K : ℕ) {n T : ℕ} {d : Cost.Data}, 1 ≤ X → n ≤ W → d.size + 1 ≤ X → Repeat.Dom W X K cT mT eT T → Repeat.Dom W X K c m e (lenZ W n d T)
      theorem MIPRE.Tailored.RepProg.repLen_timeBound :
      ∃ (c : ℕ) (m : ℕ) (e : ℕ), ∀ {ℓ : ℕ} (S : CL.Sampler ℓ) (L : Decider) (lam tau n : ℕ) (R : Budget) (W : ℕ), LenDom S L lam tau n R W → S.TimeBoundAt n R.S R.k → L.TimeBoundAt n R.D R.k → (repLen S L lam tau).TimeBoundAt n (c * (W + 1) ^ m) (e * (R.k + 1))

      The running time of the repeated calculator.