Documentation

MIPRE.Background.Tailored.AnswerReduction.SoundSetup

Soundness of the answer-reduced game: the per-role low-degree games #

The first step of the soundness of 𝔄𝔫𝔰ℜ𝔢𝔡 (prop:completeness_soundness_combi_ans_red, II:10487), for a projective strategy T in a bipartite model for the answer-reduced typed game arGame on the CL functions of an answer-reduced sampler (ArSampler).

A typed question carries the oracularized input question of its role and a question of the seeded low-degree test (ArSampler): at the seed (z, w) of the input sampler and the test's registers, the question of type (r, τ) is arQr r (oq r z) (ldq τ w), the typed question presenting the role's oracularized question and the test's question of type τ of the sample w carries (eval_seed). So:

The paper runs the test inside its first perturbation (II:10623); its type graph has the low-degree test's own (ALine – Point – DLine), here the complete graph with loops, which changes the constant only.

Vectors and typed questions #

noncomputable def MIPRE.Tailored.AnsRed.Typed.ldBits (t : ℕ) (ht : 1 ≤ t) (j : ℕ) (w : Fin (D j) → Fq t ht) :
Fin (D j * t) → CL.𝔽₂

The bits of a low-degree vector, in the numbering of a typed question's low-degree half.

Equations
Instances For
    noncomputable def MIPRE.Tailored.AnsRed.Typed.ldBitsEquiv (t : ℕ) (ht : 1 ≤ t) (j : ℕ) :
    (Fin (D j) → Fq t ht) ≃ (Fin (D j * t) → CL.𝔽₂)

    The bits of a low-degree vector, as an equivalence.

    Equations
    Instances For
      theorem MIPRE.Tailored.AnsRed.Typed.ldBitsEquiv_apply {t : ℕ} {ht : 1 ≤ t} {j : ℕ} (w : Fin (D j) → Fq t ht) :
      (ldBitsEquiv t ht j) w = ldBits t ht j w
      theorem MIPRE.Tailored.AnsRed.Typed.ldPart_append {t : ℕ} {ht : 1 ≤ t} {j : ℕ} (rV : ℕ) (y : Fin rV → CL.𝔽₂) (w : Fin (D j) → Fq t ht) :
      ldPart t ht j rV (Fin.append y (ldBits t ht j w)) = w
      theorem MIPRE.Tailored.AnsRed.Typed.rolePart_append {t : ℕ} {ht : 1 ≤ t} {j : ℕ} (rV : ℕ) (y : Fin rV → CL.𝔽₂) (w : Fin (D j) → Fq t ht) :
      rolePart t j rV (Fin.append y (ldBits t ht j w)) = y
      noncomputable def MIPRE.Tailored.AnsRed.Typed.arQr {t : ℕ} {ht : 1 ≤ t} {j : ℕ} {hM : 2 ^ j ∣ Fintype.card (Fq t ht)} (sel : LIDT.CL.Sel (Fq t ht) (2 ^ j) hM) (rV : ℕ) (r : Role) (y : Fin rV → CL.𝔽₂) (q : LIDT.CL.Question (Fq t ht) (2 ^ j)) :

      The typed question of a question of the low-degree test, at role r and oracularized question y: the low-degree half presents the test's question, the role half is y.

      Equations
      Instances For
        theorem MIPRE.Tailored.AnsRed.Typed.ldQ_arQr {t : ℕ} {ht : 1 ≤ t} {j : ℕ} {hM : 2 ^ j ∣ Fintype.card (Fq t ht)} (sel : LIDT.CL.Sel (Fq t ht) (2 ^ j) hM) (rV : ℕ) (r : Role) (y : Fin rV → CL.𝔽₂) (q : LIDT.CL.Question (Fq t ht) (2 ^ j)) :
        ldQ t ht j rV sel (arQr sel rV r y q).1.2 (arQr sel rV r y q).2 = q
        theorem MIPRE.Tailored.AnsRed.Typed.rolePart_arQr {t : ℕ} {ht : 1 ≤ t} {j : ℕ} {hM : 2 ^ j ∣ Fintype.card (Fq t ht)} (sel : LIDT.CL.Sel (Fq t ht) (2 ^ j) hM) (rV : ℕ) (r : Role) (y : Fin rV → CL.𝔽₂) (q : LIDT.CL.Question (Fq t ht) (2 ^ j)) :
        rolePart t j rV (arQr sel rV r y q).2 = y
        @[reducible, inline]
        noncomputable abbrev MIPRE.Tailored.AnsRed.Typed.ldq {t : ℕ} {ht : 1 ≤ t} {j : ℕ} {hM : 2 ^ j ∣ Fintype.card (Fq t ht)} (sel : LIDT.CL.Sel (Fq t ht) (2 ^ j) hM) (τ : LIDT.CL.Ty) (w : Fin (D j) → Fq t ht) :
        LIDT.CL.Question (Fq t ht) (2 ^ j)

        The question of type τ of the sample the registers of the low-degree vector w carry.

        Equations
        Instances For

          The questions of an answer-reduced sampler #

          @[reducible, inline]
          noncomputable abbrev MIPRE.Tailored.AnsRed.Typed.oq {ℓV : ℕ} (V : TailoredVerifier ℓV) (n : ℕ) (r : Role) (z : V.Questions n) :

          The oracularized question of role r at the seed z of the input sampler.

          Equations
          Instances For
            theorem MIPRE.Tailored.AnsRed.Typed.eval_seed {t : ℕ} {ht : 1 ≤ t} {j : ℕ} {hM : 2 ^ j ∣ Fintype.card (Fq t ht)} (sel : LIDT.CL.Sel (Fq t ht) (2 ^ j) hM) {ℓV : ℕ} {V : TailoredVerifier ℓV} {n ℓ : ℕ} {P : Bool → Role × LIDT.CL.Ty → CL.CLFun (ZMod 2) (Fin (V.sampler.dim n + D j * t)) ℓ} (hP : ArSampler hM sel V n P) (b : Bool) (u : Role × LIDT.CL.Ty) (z : V.Questions n) (w : Fin (D j) → Fq t ht) :
            (u, (P b u).eval (Fin.append z (ldBits t ht j w))) = arQr sel (V.sampler.dim n) u.1 (oq V n u.1 z) (ldq sel u.2 w)

            The typed question at a seed: at the seed (z, w), the question of type (r, τ) of an answer-reduced sampler is the typed question presenting the oracularized question of role r at z and the low-degree test's question of type τ of the sample w carries.

            The per-role low-degree strategies #

            theorem MIPRE.Tailored.AnsRed.Typed.arDt_role {t : ℕ} {ht : 1 ≤ t} {j d : ℕ} {hM : 2 ^ j ∣ Fintype.card (Fq t ht)} {sel : LIDT.CL.Sel (Fq t ht) (2 ^ j) hM} {L : PcpDims} {hLM : L.m ≤ 2 ^ j} {ℓV : ℕ} {V : TailoredVerifier ℓV} {n : ℕ} {Cc : V.Questions n → SAT.Circuit} {hm : ∀ (z : V.Questions n), (Cc z).inputs + (Cc z).size = L.m} {B : ℕ} (r : Role) (y : V.Questions n) (x x' : LIDT.CL.Question (Fq t ht) (2 ^ j)) {a b : Verifier.Answers B} (h : arDt d hM sel L hLM V n Cc hm B (arQr sel (V.sampler.dim n) r y x) (arQr sel (V.sampler.dim n) r y x') a b = true) :
            LIDT.CL.accepts hM x x' (decAns t ht j d L r x.ty ↑a) (decAns t ht j d L r x'.ty ↑b) = true

            The low-degree check of the typed data is the test's predicate: at two typed questions of one role presenting questions of the test, an answer pair the typed data accepts reads, through the role's codewords, as an answer pair the seeded test accepts.

            noncomputable def MIPRE.Tailored.AnsRed.Typed.roleStrat {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {t : ℕ} {ht : 1 ≤ t} {j d : ℕ} {hM : 2 ^ j ∣ Fintype.card (Fq t ht)} {sel : LIDT.CL.Sel (Fq t ht) (2 ^ j) hM} {L : PcpDims} {hLM : L.m ≤ 2 ^ j} {ℓV : ℕ} {V : TailoredVerifier ℓV} {n : ℕ} {Cc : V.Questions n → SAT.Circuit} {hm : ∀ (z : V.Questions n), (Cc z).inputs + (Cc z).size = L.m} {ℓ : ℕ} {P : Bool → Role × LIDT.CL.Ty → CL.CLFun (ZMod 2) (Fin (V.sampler.dim n + D j * t)) ℓ} {B : ℕ} (T : M.ProjStrat (arGame d hM sel L hLM V n Cc hm P B)) (r : Role) (y : V.Questions n) :

            The per-role low-degree strategy at role r and oracularized question y: T played through arQr and the reading decAns of the role's codewords, both players at role r. At the seed z of the input sampler the oracularized question is oq r z: the seed itself for the oracle, the original player's question for an isolated player.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem MIPRE.Tailored.AnsRed.Typed.one_sub_value_roleStrat_le {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {t : ℕ} {ht : 1 ≤ t} {j d : ℕ} {hM : 2 ^ j ∣ Fintype.card (Fq t ht)} {sel : LIDT.CL.Sel (Fq t ht) (2 ^ j) hM} {L : PcpDims} {hLM : L.m ≤ 2 ^ j} {ℓV : ℕ} {V : TailoredVerifier ℓV} {n : ℕ} {Cc : V.Questions n → SAT.Circuit} {hm : ∀ (z : V.Questions n), (Cc z).inputs + (Cc z).size = L.m} {ℓ : ℕ} {P : Bool → Role × LIDT.CL.Ty → CL.CLFun (ZMod 2) (Fin (V.sampler.dim n + D j * t)) ℓ} {B : ℕ} (T : M.ProjStrat (arGame d hM sel L hLM V n Cc hm P B)) (r : Role) (y : V.Questions n) :
              1 - (roleStrat T r y).value ≤ (∑ sm : LIDT.CL.Sample (Fq t ht) (2 ^ j), T.failAt (arQr sel (V.sampler.dim n) r y (LIDT.CL.Sample.question hM sm sm.tyA)) (arQr sel (V.sampler.dim n) r y (LIDT.CL.Sample.question hM sm sm.tyB))) / ↑(Fintype.card (LIDT.CL.Sample (Fq t ht) (2 ^ j)))

              The per-role failure is at most the average of T's failures at the typed questions of the test's samples.

              The typed failure, by type pair and seed #

              theorem MIPRE.Tailored.AnsRed.Typed.card_seeds {t : ℕ} {ht : 1 ≤ t} {j ℓV : ℕ} {V : TailoredVerifier ℓV} {n : ℕ} :
              ↑(Fintype.card (Fin (V.sampler.dim n + D j * t) → ZMod 2)) = ↑(Fintype.card (V.Questions n)) * ↑(Fintype.card (Fin (D j) → Fq t ht))
              noncomputable def MIPRE.Tailored.AnsRed.Typed.edgeFail {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [PartialOrder ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {t : ℕ} {ht : 1 ≤ t} {j d : ℕ} {hM : 2 ^ j ∣ Fintype.card (Fq t ht)} {sel : LIDT.CL.Sel (Fq t ht) (2 ^ j) hM} {L : PcpDims} {hLM : L.m ≤ 2 ^ j} {ℓV : ℕ} {V : TailoredVerifier ℓV} {n : ℕ} {Cc : V.Questions n → SAT.Circuit} {hm : ∀ (z : V.Questions n), (Cc z).inputs + (Cc z).size = L.m} {ℓ : ℕ} {P : Bool → Role × LIDT.CL.Ty → CL.CLFun (ZMod 2) (Fin (V.sampler.dim n + D j * t)) ℓ} {B : ℕ} (T : M.ProjStrat (arGame d hM sel L hLM V n Cc hm P B)) (uv : (Role × LIDT.CL.Ty) × Role × LIDT.CL.Ty) (z : V.Questions n) (w : Fin (D j) → Fq t ht) :

              T's failure at the typed questions of the type pair uv at the seed (z, w).

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem MIPRE.Tailored.AnsRed.Typed.edgeFail_nonneg {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {t : ℕ} {ht : 1 ≤ t} {j d : ℕ} {hM : 2 ^ j ∣ Fintype.card (Fq t ht)} {sel : LIDT.CL.Sel (Fq t ht) (2 ^ j) hM} {L : PcpDims} {hLM : L.m ≤ 2 ^ j} {ℓV : ℕ} {V : TailoredVerifier ℓV} {n : ℕ} {Cc : V.Questions n → SAT.Circuit} {hm : ∀ (z : V.Questions n), (Cc z).inputs + (Cc z).size = L.m} {ℓ : ℕ} {P : Bool → Role × LIDT.CL.Ty → CL.CLFun (ZMod 2) (Fin (V.sampler.dim n + D j * t)) ℓ} {B : ℕ} (T : M.ProjStrat (arGame d hM sel L hLM V n Cc hm P B)) (uv : (Role × LIDT.CL.Ty) × Role × LIDT.CL.Ty) (z : V.Questions n) (w : Fin (D j) → Fq t ht) :
                0 ≤ edgeFail T uv z w
                theorem MIPRE.Tailored.AnsRed.Typed.one_sub_value_eq_sum {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [PartialOrder ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {t : ℕ} {ht : 1 ≤ t} {j d : ℕ} {hM : 2 ^ j ∣ Fintype.card (Fq t ht)} {sel : LIDT.CL.Sel (Fq t ht) (2 ^ j) hM} {L : PcpDims} {hLM : L.m ≤ 2 ^ j} {ℓV : ℕ} {V : TailoredVerifier ℓV} {n : ℕ} {Cc : V.Questions n → SAT.Circuit} {hm : ∀ (z : V.Questions n), (Cc z).inputs + (Cc z).size = L.m} {ℓ : ℕ} {P : Bool → Role × LIDT.CL.Ty → CL.CLFun (ZMod 2) (Fin (V.sampler.dim n + D j * t)) ℓ} {B : ℕ} (T : M.ProjStrat (arGame d hM sel L hLM V n Cc hm P B)) (hP : ArSampler hM sel V n P) :
                1 - T.value = (∑ uv : (Role × LIDT.CL.Ty) × Role × LIDT.CL.Ty, ∑ z : V.Questions n, ∑ w : Fin (D j) → Fq t ht, edgeFail T uv z w) / (81 * (↑(Fintype.card (V.Questions n)) * ↑(Fintype.card (Fin (D j) → Fq t ht))))

                The typed failure is the average over the type pairs and the seeds (z, w) of T's failure at the typed questions they determine.

                theorem MIPRE.Tailored.AnsRed.Typed.sum_edges_le {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {t : ℕ} {ht : 1 ≤ t} {j d : ℕ} {hM : 2 ^ j ∣ Fintype.card (Fq t ht)} {sel : LIDT.CL.Sel (Fq t ht) (2 ^ j) hM} {L : PcpDims} {hLM : L.m ≤ 2 ^ j} {ℓV : ℕ} {V : TailoredVerifier ℓV} {n : ℕ} {Cc : V.Questions n → SAT.Circuit} {hm : ∀ (z : V.Questions n), (Cc z).inputs + (Cc z).size = L.m} {ℓ : ℕ} {P : Bool → Role × LIDT.CL.Ty → CL.CLFun (ZMod 2) (Fin (V.sampler.dim n + D j * t)) ℓ} {B : ℕ} (T : M.ProjStrat (arGame d hM sel L hLM V n Cc hm P B)) (hP : ArSampler hM sel V n P) {ι : Type u_4} [Fintype ι] (e : ι → (Role × LIDT.CL.Ty) × Role × LIDT.CL.Ty) (he : Function.Injective e) :
                ∑ k : ι, ∑ z : V.Questions n, ∑ w : Fin (D j) → Fq t ht, edgeFail T (e k) z w ≤ 81 * (↑(Fintype.card (V.Questions n)) * ↑(Fintype.card (Fin (D j) → Fq t ht))) * (1 - T.value)

                Any set of type pairs inside the typed failure: the failures at an injective family of type pairs, summed over the seeds, add up to at most 81 times the number of seeds times the typed failure.

                theorem MIPRE.Tailored.AnsRed.Typed.sum_edge_le {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {t : ℕ} {ht : 1 ≤ t} {j d : ℕ} {hM : 2 ^ j ∣ Fintype.card (Fq t ht)} {sel : LIDT.CL.Sel (Fq t ht) (2 ^ j) hM} {L : PcpDims} {hLM : L.m ≤ 2 ^ j} {ℓV : ℕ} {V : TailoredVerifier ℓV} {n : ℕ} {Cc : V.Questions n → SAT.Circuit} {hm : ∀ (z : V.Questions n), (Cc z).inputs + (Cc z).size = L.m} {ℓ : ℕ} {P : Bool → Role × LIDT.CL.Ty → CL.CLFun (ZMod 2) (Fin (V.sampler.dim n + D j * t)) ℓ} {B : ℕ} (T : M.ProjStrat (arGame d hM sel L hLM V n Cc hm P B)) (hP : ArSampler hM sel V n P) (uv : (Role × LIDT.CL.Ty) × Role × LIDT.CL.Ty) :
                ∑ z : V.Questions n, ∑ w : Fin (D j) → Fq t ht, edgeFail T uv z w ≤ 81 * (↑(Fintype.card (V.Questions n)) * ↑(Fintype.card (Fin (D j) → Fq t ht))) * (1 - T.value)

                A single type pair inside the typed failure.

                The per-role failures average to the typed failure #

                theorem MIPRE.Tailored.AnsRed.Typed.sum_one_sub_value_roleStrat_le {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {t : ℕ} {ht : 1 ≤ t} {j d : ℕ} {hM : 2 ^ j ∣ Fintype.card (Fq t ht)} {sel : LIDT.CL.Sel (Fq t ht) (2 ^ j) hM} {L : PcpDims} {hLM : L.m ≤ 2 ^ j} {ℓV : ℕ} {V : TailoredVerifier ℓV} {n : ℕ} {Cc : V.Questions n → SAT.Circuit} {hm : ∀ (z : V.Questions n), (Cc z).inputs + (Cc z).size = L.m} {ℓ : ℕ} {P : Bool → Role × LIDT.CL.Ty → CL.CLFun (ZMod 2) (Fin (V.sampler.dim n + D j * t)) ℓ} {B : ℕ} (T : M.ProjStrat (arGame d hM sel L hLM V n Cc hm P B)) (hP : ArSampler hM sel V n P) (r : Role) :
                ∑ z : V.Questions n, (1 - (roleStrat T r (oq V n r z)).value) ≤ ↑(Fintype.card (V.Questions n)) * (9 * (1 - T.value))

                The per-role failures average to at most 9 times the typed failure: a role's nine type pairs are 1/9 of the 81, and on them the registers of a uniform vector carry a uniform sample.