Documentation

MIPRE.Foundations.CL.DetypingProgGraph

An executable fixed graph sampler #

Every fixed finite CL presentation has a total ambient sampler program: a finite table covers its valid queries, with a fixed output on other inputs. We instantiate this construction with the two-level graph presentation used by detyping. Its dimension, all query answers and halting on malformed inputs are proved. This finite-table construction is polynomial in query size for each fixed graph; it does not claim polynomial compilation in graph size.

@[reducible, inline]
Equations
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem MIPRE.CL.FixedSampler.marginal_mem {d ℓ : ℕ} (w : Player) (j : ℕ) (z : Cost.BitStr) (hj : j ≤ ℓ) (hz : List.length z = d) :
        theorem MIPRE.CL.FixedSampler.linear_mem {d ℓ : ℕ} (w : Player) (j : ℕ) (u y : Cost.BitStr) (hj : j ≤ ℓ) (hu : List.length u = d) (hy : List.length y = d) :
        theorem MIPRE.CL.FixedSampler.factor_mem {d ℓ : ℕ} (w : Player) (j : ℕ) (u : Cost.BitStr) (hj : j ≤ ℓ) (hu : List.length u = d) :
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          noncomputable def MIPRE.CL.FixedSampler.prog {d ℓ : ℕ} (P : Player → CLFun 𝔽₂ (Fin d) ℓ) :

          Drop the index without traversing it and run the finite query table.

          Equations
          Instances For
            theorem MIPRE.CL.FixedSampler.prog_runs {d ℓ : ℕ} (P : Player → CLFun 𝔽₂ (Fin d) ℓ) (n : ℕ) (q : Sampler.Query) (hq : Cost.encode q ∈ queries d ℓ) :
            ∃ (time : ℕ), (prog P).Runs (Cost.encode (n, q)) (answer P q) time
            noncomputable def MIPRE.CL.FixedSampler.sampler {d ℓ : ℕ} (P : Player → CLFun 𝔽₂ (Fin d) ℓ) (hP : ∀ (w : Player), (P w).ExactlyOn Finset.univ) :
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem MIPRE.CL.FixedSampler.sampler_timeBound {d ℓ : ℕ} (P : Player → CLFun 𝔽₂ (Fin d) ℓ) (hP : ∀ (w : Player), (P w).ExactlyOn Finset.univ) :
              ∃ (B : ℕ) (k : ℕ), (sampler P hP).TimeBound (fun (x : ℕ) => B) k

              A single polynomial bounds every index, because the program never traverses the index. Its coefficients depend on the fixed finite presentation.

              noncomputable def MIPRE.CL.Graph.numberedPresentation {T : Type u_1} [Fintype T] [DecidableEq T] (E : T → T → Prop) [DecidableRel E] (w : Player) :

              Numbering the four finite graph blocks in the standard sampler interface.

              Equations
              Instances For
                noncomputable def MIPRE.CL.Graph.sampler {T : Type u_1} [Fintype T] [DecidableEq T] (E : T → T → Prop) [DecidableRel E] :

                The fixed graph sampler is an actual total program with all four query clauses.

                Equations
                Instances For
                  theorem MIPRE.CL.Graph.sampler_dim {T : Type u_1} [Fintype T] [DecidableEq T] (E : T → T → Prop) [DecidableRel E] (n : ℕ) :
                  theorem MIPRE.CL.Graph.sampler_timeBound {T : Type u_1} [Fintype T] [DecidableEq T] (E : T → T → Prop) [DecidableRel E] :
                  ∃ (B : ℕ) (k : ℕ), (sampler E).TimeBound (fun (x : ℕ) => B) k