Documentation

MIPRE.Tailored.AnsRed.HonestPair

The honest PCP of a pair of answers, slot by slot #

The honest strategy of the answer-reduced game (slice P4d of planning/aldous-lyons-track.md) answers with the polynomials of the honest PCP pairPcp of the input answers (cor:functional_viewpoint_final): the oracle with all of them, an isolated player with the two of its own answer. This file records what the strategy's proof needs of them, slot by slot.

Encodings read only the cube #

theorem MIPRE.Tailored.AnsRed.encTbl_congr {F : Type u_1} [Field F] {k : ℕ} {t t' : ℕ → F} (h : ∀ c < 2 ^ k, t c = t' c) :
encTbl k t = encTbl k t'
theorem MIPRE.Tailored.AnsRed.encB_congr {F : Type u_1} [Field F] {k : ℕ} {t t' : ℕ → Bool} (h : ∀ c < 2 ^ k, t c = t' c) :
encB k t = encB k t'
theorem MIPRE.Tailored.AnsRed.encZ_congr {F : Type u_1} [Field F] [CharP F 2] {k : ℕ} {f f' : ℕ → ZMod 2} (h : ∀ c < 2 ^ k, f c = f' c) :
encZ k f = encZ k f'

Readable and linear slots of Induce #

theorem MIPRE.Tailored.AnsRed.slot_induce_readable {F : Type u_1} [Field F] {L : PcpDims} [CharP F 2] (T : MvPolynomial (Fin L.m) F) (R : RTables) (Lt Lt' : LTables) (s : Slot L) (hs : s.readable = true) :
(induce L T R Lt).slot s = (induce L T R Lt').slot s

A readable polynomial of the honest PCP depends only on the readable tables.

theorem MIPRE.Tailored.AnsRed.slot_induce_affine {F : Type u_1} [Field F] {L : PcpDims} [CharP F 2] (T : MvPolynomial (Fin L.m) F) (R : RTables) (Lt₁ Lt₂ : LTables) (s : Slot L) (hs : s.readable = false) :
(induce L T R (Lt₁ + Lt₂)).slot s + (induce L T R 0).slot s = (induce L T R Lt₁).slot s + (induce L T R Lt₂).slot s

A linear polynomial of the honest PCP is F₂-affine in the linear tables.

theorem MIPRE.Tailored.AnsRed.Pcp.IndDeg.slot {F : Type u_1} [Field F] {L : PcpDims} {P : Pcp L F} {d : ℕ} (h : P.IndDeg d) (s : Slot L) (i : Fin s.size) :

The degrees of the slots of a PCP of individual degree at most d.

The honest PCP of an answer pair #

noncomputable def MIPRE.Tailored.AnsRed.pairPcp {F : Type u_1} [Field F] (L : PcpDims) [CharP F 2] {ℓV : ℕ} (V : TailoredVerifier ℓV) (n : ℕ) (T : MvPolynomial (Fin L.m) F) (Cc : SAT.Circuit) (xq yq : V.Questions n) (a b : Cost.BitStr) :
Pcp L F

The honest PCP of an answer pair (a, b) at the questions (x, y) (cor:functional_viewpoint_final), for a circuit polynomial T and a circuit Cc whose formula's witnesses the readable tables carry: Induce of the readable tables of the readable parts and the linear tables of the linear parts.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem MIPRE.Tailored.AnsRed.indDeg_pairPcp {F : Type u_1} [Field F] {L : PcpDims} [CharP F 2] {ℓV : ℕ} (V : TailoredVerifier ℓV) (n : ℕ) (T : MvPolynomial (Fin L.m) F) (Cc : SAT.Circuit) (xq yq : V.Questions n) (a b : Cost.BitStr) :
    (pairPcp L V n T Cc xq yq a b).IndDeg 17
    theorem MIPRE.Tailored.AnsRed.slot_pairPcp_readable {F : Type u_1} [Field F] {L : PcpDims} [CharP F 2] {ℓV : ℕ} (V : TailoredVerifier ℓV) (n : ℕ) (T : MvPolynomial (Fin L.m) F) (Cc : SAT.Circuit) (xq yq : V.Questions n) {a a' b b' : Cost.BitStr} (ha : List.take ((V.tgame n).lenR xq) a = List.take ((V.tgame n).lenR xq) a') (hb : List.take ((V.tgame n).lenR yq) b = List.take ((V.tgame n).lenR yq) b') (s : Slot L) (hs : s.readable = true) :
    (pairPcp L V n T Cc xq yq a b).slot s = (pairPcp L V n T Cc xq yq a' b').slot s

    A readable polynomial of the honest PCP depends only on the readable answers.

    theorem MIPRE.Tailored.AnsRed.honestL_toBits_add {L : PcpDims} {ℓV : ℕ} (V : TailoredVerifier ℓV) (n : ℕ) (xq yq : V.Questions n) (aR bR : Cost.BitStr) {NA NB : ℕ} (u₁ u₂ : Fin NA → CL.𝔽₂) (w₁ w₂ : Fin NB → CL.𝔽₂) :
    honestL L V n xq yq aR (CL.toBits (u₁ + u₂)) bR (CL.toBits (w₁ + w₂)) = honestL L V n xq yq aR (CL.toBits u₁) bR (CL.toBits w₁) + honestL L V n xq yq aR (CL.toBits u₂) bR (CL.toBits w₂)
    theorem MIPRE.Tailored.AnsRed.honestL_toBits_zero {L : PcpDims} {ℓV : ℕ} (V : TailoredVerifier ℓV) (n : ℕ) (xq yq : V.Questions n) (aR bR : Cost.BitStr) (NA NB : ℕ) :
    honestL L V n xq yq aR (CL.toBits 0) bR (CL.toBits 0) = 0
    theorem MIPRE.Tailored.AnsRed.slot_pairPcp_affine {F : Type u_1} [Field F] {L : PcpDims} [CharP F 2] {ℓV : ℕ} (V : TailoredVerifier ℓV) (n : ℕ) (T : MvPolynomial (Fin L.m) F) (Cc : SAT.Circuit) (xq yq : V.Questions n) {aR bR : Cost.BitStr} (haR : List.length aR = (V.tgame n).lenR xq) (hbR : List.length bR = (V.tgame n).lenR yq) {NA NB : ℕ} (u₁ u₂ : Fin NA → CL.𝔽₂) (w₁ w₂ : Fin NB → CL.𝔽₂) (s : Slot L) (hs : s.readable = false) :
    (pairPcp L V n T Cc xq yq (aR ++ CL.toBits (u₁ + u₂)) (bR ++ CL.toBits (w₁ + w₂))).slot s + (pairPcp L V n T Cc xq yq (aR ++ CL.toBits 0) (bR ++ CL.toBits 0)).slot s = (pairPcp L V n T Cc xq yq (aR ++ CL.toBits u₁) (bR ++ CL.toBits w₁)).slot s + (pairPcp L V n T Cc xq yq (aR ++ CL.toBits u₂) (bR ++ CL.toBits w₂)).slot s

    A linear polynomial of the honest PCP is F₂-affine in the linear answers, the readable answers fixed.

    The isolated players' polynomials #

    theorem MIPRE.Tailored.AnsRed.slot_pairPcp_alice {F : Type u_1} [Field F] {L : PcpDims} [CharP F 2] {ℓV : ℕ} (V : TailoredVerifier ℓV) (n : ℕ) (T T' : MvPolynomial (Fin L.m) F) (Cc Cc' : SAT.Circuit) (xq yq yq' : V.Questions n) {a b b' : Cost.BitStr} (ha : (V.tgame n).lenR xq ≤ List.length a) (hR : (V.tgame n).lenR xq ≤ 2 ^ L.ℓ) (s : Slot L) (hs : s ∈ slotsOf L Role.alice) :
    (pairPcp L V n T Cc xq yq a b).slot s = (pairPcp L V n T' Cc' xq yq' a b').slot s

    Alice's polynomials depend only on her question and answer, when her answer carries its readable part and that part fits the table.

    theorem MIPRE.Tailored.AnsRed.slot_pairPcp_bob {F : Type u_1} [Field F] {L : PcpDims} [CharP F 2] {ℓV : ℕ} (V : TailoredVerifier ℓV) (n : ℕ) (T T' : MvPolynomial (Fin L.m) F) (Cc Cc' : SAT.Circuit) (xq xq' yq : V.Questions n) (a a' b : Cost.BitStr) (s : Slot L) (hs : s ∈ slotsOf L Role.bob) :
    (pairPcp L V n T Cc xq yq a b).slot s = (pairPcp L V n T' Cc' xq' yq a' b).slot s

    Bob's polynomials depend only on his question and answer.

    Accepted answers #

    theorem MIPRE.Tailored.AnsRed.accepts_halts {ℓV : ℕ} (V : TailoredVerifier ℓV) (n : ℕ) {xq yq : V.Questions n} {a b : Cost.BitStr} (hacc : (V.tgame n).Accepts xq yq a b) :
    V.LenDefined n (CL.toBits xq) ∧ V.LenDefined n (CL.toBits yq) ∧ ∃ (cs : List Cost.BitStr), LpIs V.lp n (CL.toBits xq) (CL.toBits yq) (List.take ((V.tgame n).lenR xq) a) (List.take ((V.tgame n).lenR yq) b) cs

    An accepted answer pair makes the verifier's programs halt: otherwise the constraints are the one that rejects everything.

    theorem MIPRE.Tailored.AnsRed.identities_pairPcp {F : Type u_1} [Field F] {L : PcpDims} [CharP F 2] {ℓV : ℕ} (V : TailoredVerifier ℓV) (n : ℕ) (prm : Cost.PolyTimeFun ℕ (Cost.Unary × Cost.Unary)) (hℓ : List.length (prm.toFun n).1 = L.ℓ) (hdm : List.length (prm.toFun n).2 = L.dm) {Cc : SAT.Circuit} {Tt : ℕ} (hWF : Cc.WellFormed) (hin : Cc.inputs = L.nIn) (hm : Cc.inputs + Cc.size = L.m) (xq yq : V.Questions n) (hdesc : Cc.DescribesWindows (L.ℓ + 1) (L.ℓ + 1) (L.oW + 1) L.r (lstar prm V) n (CL.toBits xq) (CL.toBits yq) Tt) {a b : Cost.BitStr} (hT : (lstar prm V).Accepts n (CL.toBits xq) (CL.toBits yq) (honestA L V n xq yq (List.take ((V.tgame n).lenR xq) a) (List.take ((V.tgame n).lenR yq) b)) (honestB L V n yq (List.take ((V.tgame n).lenR yq) b)) → (lstar prm V).AcceptsWithin n (CL.toBits xq) (CL.toBits yq) (honestA L V n xq yq (List.take ((V.tgame n).lenR xq) a) (List.take ((V.tgame n).lenR yq) b)) (honestB L V n yq (List.take ((V.tgame n).lenR yq) b)) Tt) (hTlen : 2 ^ L.ℓ + 2 ^ L.oW ≤ Tt) (hRx : (V.tgame n).lenR xq ≤ 2 ^ L.ℓ) (hLx : (V.tgame n).lenL xq ≤ 2 ^ L.ℓ) (hRy : (V.tgame n).lenR yq ≤ 2 ^ L.ℓ) (hLy : (V.tgame n).lenL yq ≤ 2 ^ L.ℓ) (hD : ((V.tgame n).cons xq yq (List.take ((V.tgame n).lenR xq) a) (List.take ((V.tgame n).lenR yq) b)).length * (2 ^ L.ℓ + 2 ^ L.ℓ) + (2 ^ L.ℓ + 2 ^ L.ℓ) ≤ 2 ^ L.dm) (hacc : (V.tgame n).Accepts xq yq a b) :

    The honest PCP of an accepted answer pair satisfies the thirteen checks identically (identities_honest), at parameters the lengths fit, for a circuit that describes the output indicator through the windows within a time L* meets.

    At every seed #

    noncomputable def MIPRE.Tailored.AnsRed.circOf {F : Type u_1} [Field F] (L : PcpDims) {ℓV : ℕ} (V : TailoredVerifier ℓV) (n : ℕ) (Cc : V.Questions n → SAT.Circuit) (hm : ∀ (z : V.Questions n), (Cc z).inputs + (Cc z).size = L.m) (z : V.Questions n) :

    The circuit polynomial of each seed: the arithmetization of its circuit, on the PCP's variables.

    Equations
    Instances For
      structure MIPRE.Tailored.AnsRed.HonestHyp (L : PcpDims) {ℓV : ℕ} (V : TailoredVerifier ℓV) (n : ℕ) (prm : Cost.PolyTimeFun ℕ (Cost.Unary × Cost.Unary)) (Cc : V.Questions n → SAT.Circuit) (Tt : ℕ) :

      The hypotheses of the honest PCPs at every seed: the parameters fit the lengths and the constraints of the n-th game, and each seed's circuit is well formed, has the PCP's inputs, and describes the output indicator L* through the windows at the seed's question pair, within a time L* meets on the honest strings.

      Instances For
        theorem MIPRE.Tailored.AnsRed.HonestHyp.identities {F : Type u_1} [Field F] {L : PcpDims} [CharP F 2] {ℓV : ℕ} {V : TailoredVerifier ℓV} {n : ℕ} {prm : Cost.PolyTimeFun ℕ (Cost.Unary × Cost.Unary)} {Cc : V.Questions n → SAT.Circuit} {Tt : ℕ} (H : HonestHyp L V n prm Cc Tt) (hm : ∀ (z : V.Questions n), (Cc z).inputs + (Cc z).size = L.m) (z : V.Questions n) {a b : Cost.BitStr} (hacc : (V.tgame n).Accepts ((V.sampler.cl n Player.alice).eval z) ((V.sampler.cl n Player.bob).eval z) a b) :
        Pcp.Identities (circOf L V n Cc hm z) (pairPcp L V n (circOf L V n Cc hm z) (Cc z) ((V.sampler.cl n Player.alice).eval z) ((V.sampler.cl n Player.bob).eval z) a b)

        At every seed, the honest PCP of an accepted answer pair satisfies the checks identically.