Documentation

MIPRE.Background.AnswerReduction.PcpSampler

The PCP sampler as a directly answered sampler #

Piece AR-3d of planning/answer-reduction.md: the downsized PCP half of the answer-reduced sampler as a CL.DirectSampler (MIPRE/Foundations/CL/ProductSamplerProg), for a family of PCP parameters whose m and m' are powers of two (PcpFamily), with the effective seed selectors: the high bits of the seed (PcpFamily.sel), the selectors the introspection sampler uses.

The type encoding #

@[instance_reducible]
Equations
  • One or more equations did not get rendered due to their size.

The downsized presentation in bits #

theorem MIPRE.AnswerReduction.toBits_eval_truncate_pcpCl (P : SAT.PcpParams) (hk : 1 ≤ P.k) [NeZero P.m] {hm : P.m ∣ Fintype.card (Fq P hk)} {hm' : P.m' ∣ Fintype.card (Fq P hk)} (S : LIDT.CL.Sel (Fq P hk) P.m hm) (S' : LIDT.CL.Sel (Fq P hk) P.m' hm') (t : Pcp.PcpTy) (j : ℕ) (v : Pcp.Coord P → Fq P hk) :
CL.toBits ((CL.CLFun.truncate j (pcpCl P hk S S' t)).eval (CL.ofBits (Pcp.pcpDim P * P.k) (Pcp.flatBits P hk v))) = Pcp.flatBits P hk ((CL.CLFun.truncate j (Pcp.pres P S S' t)).eval v)
theorem MIPRE.AnswerReduction.toBits_mapOfPrefix_pcpCl (P : SAT.PcpParams) (hk : 1 ≤ P.k) [NeZero P.m] {hm : P.m ∣ Fintype.card (Fq P hk)} {hm' : P.m' ∣ Fintype.card (Fq P hk)} (S : LIDT.CL.Sel (Fq P hk) P.m hm) (S' : LIDT.CL.Sel (Fq P hk) P.m' hm') (t : Pcp.PcpTy) (j : ℕ) (u y : Pcp.Coord P → Fq P hk) :
CL.toBits (((pcpCl P hk S S' t).mapOfPrefix j (CL.ofBits (Pcp.pcpDim P * P.k) (Pcp.flatBits P hk u))) (CL.ofBits (Pcp.pcpDim P * P.k) (Pcp.flatBits P hk y))) = Pcp.flatBits P hk (((Pcp.pres P S S' t).mapOfPrefix j u) y)
theorem MIPRE.AnswerReduction.indicatorBits_factorOfPrefix_pcpCl (P : SAT.PcpParams) (hk : 1 ≤ P.k) [NeZero P.m] {hm : P.m ∣ Fintype.card (Fq P hk)} {hm' : P.m' ∣ Fintype.card (Fq P hk)} (S : LIDT.CL.Sel (Fq P hk) P.m hm) (S' : LIDT.CL.Sel (Fq P hk) P.m' hm') (t : Pcp.PcpTy) (j : ℕ) (u : Pcp.Coord P → Fq P hk) :

Selectors of power-of-two blocks #

theorem MIPRE.AnswerReduction.pow_dvd_card (k : ℕ) (hk : 1 ≤ k) (sz jw : ℕ) (hsz : sz = 2 ^ jw) (hjw : jw ≤ k) :
noncomputable def MIPRE.AnswerReduction.powSel (k : ℕ) (hk : 1 ≤ k) (sz jw : ℕ) (hsz : sz = 2 ^ jw) (hjw : jw ≤ k) [NeZero sz] :

The effective seed selector: the high jw bits of the seed, for blocks of size sz = 2^jw.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem MIPRE.AnswerReduction.powSel_χ (k : ℕ) (hk : 1 ≤ k) (sz jw : ℕ) (hsz : sz = 2 ^ jw) (hjw : jw ≤ k) [NeZero sz] (a : (SAT.shoupBinField k hk).carrier) :
    ↑((powSel k hk sz jw hsz hjw).χ a) = ↑(Introspection.SeedProgram.selector (SAT.shoupBinField k hk) jw hjw a)

    Families of PCP parameters #

    A family of PCP parameters whose m and m' are powers of two, 2^{jm} and 2^{jm'}, with jm, jm' ≤ k: what the effective seed selectors need.

    Instances For
      noncomputable def MIPRE.AnswerReduction.PcpFamily.sel (F : PcpFamily) (n : ℕ) :
      LIDT.CL.Sel (Fq (F.par n) ⋯) (F.par n).m ⋯

      The selector of the first five copies.

      Equations
      Instances For
        noncomputable def MIPRE.AnswerReduction.PcpFamily.sel' (F : PcpFamily) (n : ℕ) :
        LIDT.CL.Sel (Fq (F.par n) ⋯) (F.par n).m' ⋯

        The selector of the sixth copy.

        Equations
        Instances For
          noncomputable def MIPRE.AnswerReduction.PcpFamily.cl (F : PcpFamily) (n : ℕ) (t : Pcp.PcpTy) :

          The downsized PCP presentation at index n.

          Equations
          Instances For

            The description of a copy: offset, length, selector width, seed.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              The parameters at index n: k, m' and the six copies' descriptions, in unary.

              Equations
              Instances For

                Reading the parameters #

                A copy's description.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  The answer program #

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    The copy program's input, read off a direct query.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      The answer program of the PCP sampler: the copy program on the copy the type names.

                      Equations
                      Instances For

                        The dimension program: (2m' + 6) k in unary.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          theorem MIPRE.AnswerReduction.PcpFamily.le_lt (F : PcpFamily) (n : ℕ) (t : Pcp.PcpTy) (h : ↑t.1 < 5) :
                          ↑t.1 * (F.par n).m + (F.par n).m ≤ (F.par n).m'
                          theorem MIPRE.AnswerReduction.PcpFamily.pres_lt (F : PcpFamily) (n : ℕ) (t : Pcp.PcpTy) (h : ↑t.1 < 5) :
                          Pcp.pres (F.par n) (F.sel n) (F.sel' n) t = (Pcp.regsAt (F.par n) (↑t.1 * (F.par n).m) (F.par n).m t.1 ⋯).pres (F.sel n) t.2
                          theorem MIPRE.AnswerReduction.PcpFamily.pres_ge (F : PcpFamily) (n : ℕ) (t : Pcp.PcpTy) (h : ¬↑t.1 < 5) :
                          Pcp.pres (F.par n) (F.sel n) (F.sel' n) t = (Pcp.regsAt (F.par n) 0 (F.par n).m' t.1 ⋯).pres (F.sel' n) t.2
                          theorem MIPRE.AnswerReduction.PcpFamily.desc_lt (F : PcpFamily) (n : ℕ) (c : Fin 6) (h : ↑c < 5) :
                          F.desc n c = (Cost.unary (↑c * (F.par n).m), Cost.unary (F.par n).m, Cost.unary (F.jm n), Cost.unary ↑c)
                          theorem MIPRE.AnswerReduction.PcpFamily.answer_marginal (F : PcpFamily) (n : ℕ) (t : Pcp.PcpTy) {j : ℕ} (hj : 1 ≤ j) (v : Pcp.Coord (F.par n) → Fq (F.par n) ⋯) :
                          answerProg.toFun (F.pd n, Cost.encode t, 1, j, Pcp.flatBits (F.par n) ⋯ v, []) = Pcp.flatBits (F.par n) ⋯ ((CL.CLFun.truncate j (Pcp.pres (F.par n) (F.sel n) (F.sel' n) t)).eval v)

                          The marginals, by the copy the type names.

                          theorem MIPRE.AnswerReduction.PcpFamily.answer_linear (F : PcpFamily) (n : ℕ) (t : Pcp.PcpTy) {j : ℕ} (hj : 1 ≤ j) (u y : Pcp.Coord (F.par n) → Fq (F.par n) ⋯) :
                          answerProg.toFun (F.pd n, Cost.encode t, 2, j, Pcp.flatBits (F.par n) ⋯ u, Pcp.flatBits (F.par n) ⋯ y) = Pcp.flatBits (F.par n) ⋯ (((Pcp.pres (F.par n) (F.sel n) (F.sel' n) t).mapOfPrefix (j - 1) u) y)

                          The stage maps, by the copy the type names.

                          theorem MIPRE.AnswerReduction.PcpFamily.answer_factor (F : PcpFamily) (n : ℕ) (t : Pcp.PcpTy) {j : ℕ} (hj : 1 ≤ j) (u : Pcp.Coord (F.par n) → Fq (F.par n) ⋯) :
                          answerProg.toFun (F.pd n, Cost.encode t, 3, j, Pcp.flatBits (F.par n) ⋯ u, []) = StageProg.flatInd (F.par n) (F.par n).k ((Pcp.pres (F.par n) (F.sel n) (F.sel' n) t).factorOfPrefix (j - 1) u)

                          The factor spaces, by the copy the type names.

                          theorem MIPRE.AnswerReduction.PcpFamily.exists_flatBits_of_toBits (F : PcpFamily) (n : ℕ) {j : ℕ} (t : Pcp.PcpTy) (x : Fin (Pcp.pcpDim (F.par n) * (F.par n).k) → CL.𝔽₂) :
                          ∃ (u : Pcp.Coord (F.par n) → (SAT.shoupBinField (F.par n).k ⋯).carrier), CL.toBits ((CL.CLFun.truncate j (F.cl n t)).eval x) = Pcp.flatBits (F.par n) ⋯ u
                          noncomputable def MIPRE.AnswerReduction.PcpFamily.directSampler (F : PcpFamily) (pp : Cost.Prog) (hpp : Cost.Prog.WellScoped 1 pp) (hruns : ∀ (n : ℕ), ∃ (t : ℕ), pp.Runs (Cost.encode n) (F.pd n) t) :

                          The PCP sampler, directly answered, given a routine computing its parameters.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For