Documentation

MIPRE.Background.Tailored.Intro.HonestZPC

ZPC completeness of the tailored question reduction: the honest strategy #

Phase 3c of planning/aldous-lyons-track.md (issue #281). The tailored presentation of the introspection verifier seven (MIPRE.Tailored.Intro.Complete.hasPerfectZPC_tpresented) has a perfect permutation strategy as soon as the reference verifier's typed game rawGame has a perfect PCC strategy that charges only encodable answers and whose bit observables along the padded layout enc are signed permutations, diagonal at the readable bits. This file proves that the honest strategy HonestChain.raw is one, for every input whose strategy has signed-permutation answer bits, diagonal at the readable ones (the input of a tailored verifier):

The input is any perfect PCC strategy RW of the normal form verifier W at index 2^n whose answers at a question have the lengths the tailored verifier V assigns to it and whose answer bits are signed permutations, diagonal below the readable length (honest_zpc). inputSync is such a strategy, built by lem:zpc-pcc from a permutation strategy of V (PermStrategy.toSync, extended by zero to the answers of V.ofTNFV U), and inputSyncT is the same strategy on the game of V.ofTNFVT U, which is that of V.ofTNFV U (honest_zpc_ofTNFVT).

theorem MIPRE.Tailored.Intro.HonestChain.canonical_bits {c : ℕ} (W : Verifier 7) {lam n : ℕ} (RW : SyncStrategy (W.game (2 ^ n) ((2 ^ n) ^ lam)).doubled) (he : Even c) (hs : W.sampler.dim (2 ^ n) ≤ Introspection.SourceCompiler.registerBits c lam n) (V : TailoredVerifier 7) (hc : 2 ≤ c) (hlen : ∀ (p : Bool × W.Questions (2 ^ n)) (a : Verifier.Answers ((2 ^ n) ^ lam)), RW.P.M p a ≠ 0 → List.length ↑a = V.lenOf (2 ^ n) (CL.toBits p.2) false + V.lenOf (2 ^ n) (CL.toBits p.2) true) (hX : ∀ (p : Bool × W.Questions (2 ^ n)) (j : ℕ), IsXBit (RW.P.M p) fun (a : Verifier.Answers ((2 ^ n) ^ lam)) => List.getD (↑a) j false) (hZ : ∀ (p : Bool × W.Questions (2 ^ n)), ∀ j < V.lenOf (2 ^ n) (CL.toBits p.2) false, IsZBit (RW.P.M p) fun (a : Verifier.Answers ((2 ^ n) ^ lam)) => List.getD (↑a) j false) (q : Bool × CL.Detyping.Question Introspection.DecisionKernel.Label (Fin (Introspection.PauliSampler.dimension c lam n))) (i : ℕ) :
IsXBit ((canonical W RW ⋯ he hs).P.M q) (fbit hc ((2 ^ n) ^ lam) (srcSplitR V W hs) q.2.1 i) ∧ (i < Typed.lenR (Introspection.SourceCompiler.fieldBits c lam n) (Introspection.PauliSamplerParameters.selectorBits c lam n) ((2 ^ n) ^ lam) q.2.1 → IsZBit ((canonical W RW ⋯ he hs).P.M q) (fbit hc ((2 ^ n) ^ lam) (srcSplitR V W hs) q.2.1 i))

Every bit of the honest measurement at a typed question is a signed permutation, and the readable ones are diagonal.

The honest strategy of the typed game #

theorem MIPRE.Tailored.Intro.HonestChain.bitObs_mergeAnswersByQuestion {X : Type u_1} {A : Type u_2} {B : Type u_3} [Fintype X] [Fintype A] [DecidableEq A] [Fintype B] [DecidableEq B] {G : SynchronousGame X A} (S : SyncStrategy G) (H : SynchronousGame X B) (f : X → A → B) (x : X) (g : B → Bool) :
(pvmObs ((S.mergeAnswersByQuestion H f).P.M x) fun (b : B) => bitSign (g b)) = bitObs (S.P.M x) (g ∘ f x)
theorem MIPRE.Tailored.Intro.HonestChain.raw_isXBit {c : ℕ} (W : Verifier 7) {lam n : ℕ} (RW : SyncStrategy (W.game (2 ^ n) ((2 ^ n) ^ lam)).doubled) (he : Even c) (V : TailoredVerifier 7) (hc : 2 ≤ c) (hlen : ∀ (p : Bool × W.Questions (2 ^ n)) (a : Verifier.Answers ((2 ^ n) ^ lam)), RW.P.M p a ≠ 0 → List.length ↑a = V.lenOf (2 ^ n) (CL.toBits p.2) false + V.lenOf (2 ^ n) (CL.toBits p.2) true) (hX : ∀ (p : Bool × W.Questions (2 ^ n)) (j : ℕ), IsXBit (RW.P.M p) fun (a : Verifier.Answers ((2 ^ n) ^ lam)) => List.getD (↑a) j false) (hZ : ∀ (p : Bool × W.Questions (2 ^ n)), ∀ j < V.lenOf (2 ^ n) (CL.toBits p.2) false, IsZBit (RW.P.M p) fun (a : Verifier.Answers ((2 ^ n) ^ lam)) => List.getD (↑a) j false) (U : Cost.ClockedUniversalMachine) (hW : W.IsBounded lam) (hn : 1 ≤ n) (q : Bool × CL.Detyping.Question Introspection.DecisionKernel.Label (Fin (Introspection.PauliSampler.dimension c lam n))) (i : ℕ) :

hperm: every bit of the padded layout is a signed permutation observable of the honest strategy.

theorem MIPRE.Tailored.Intro.HonestChain.raw_isDiag {c : ℕ} (W : Verifier 7) {lam n : ℕ} (RW : SyncStrategy (W.game (2 ^ n) ((2 ^ n) ^ lam)).doubled) (he : Even c) (V : TailoredVerifier 7) (hc : 2 ≤ c) (hlen : ∀ (p : Bool × W.Questions (2 ^ n)) (a : Verifier.Answers ((2 ^ n) ^ lam)), RW.P.M p a ≠ 0 → List.length ↑a = V.lenOf (2 ^ n) (CL.toBits p.2) false + V.lenOf (2 ^ n) (CL.toBits p.2) true) (hX : ∀ (p : Bool × W.Questions (2 ^ n)) (j : ℕ), IsXBit (RW.P.M p) fun (a : Verifier.Answers ((2 ^ n) ^ lam)) => List.getD (↑a) j false) (hZ : ∀ (p : Bool × W.Questions (2 ^ n)), ∀ j < V.lenOf (2 ^ n) (CL.toBits p.2) false, IsZBit (RW.P.M p) fun (a : Verifier.Answers ((2 ^ n) ^ lam)) => List.getD (↑a) j false) (U : Cost.ClockedUniversalMachine) (hW : W.IsBounded lam) (hn : 1 ≤ n) (q : Bool × CL.Detyping.Question Introspection.DecisionKernel.Label (Fin (Introspection.PauliSampler.dimension c lam n))) (i : ℕ) (hi : i < Typed.lenR (Introspection.SourceCompiler.fieldBits c lam n) (Introspection.PauliSamplerParameters.selectorBits c lam n) ((2 ^ n) ^ lam) q.2.1) :

hdiag: the readable bits are diagonal.

The support #

theorem MIPRE.Tailored.Intro.HonestChain.mergeAnswersByQuestion_ne_zero {X : Type u_1} {A : Type u_2} {B : Type u_3} [Fintype X] [Fintype A] [DecidableEq A] [Fintype B] [DecidableEq B] {G : SynchronousGame X A} (S : SyncStrategy G) (H : SynchronousGame X B) (f : X → A → B) (x : X) (b : B) (h : (S.mergeAnswersByQuestion H f).P.M x b ≠ 0) :
∃ (a : A), f x a = b ∧ S.P.M x a ≠ 0
theorem MIPRE.Tailored.Intro.HonestChain.binaryDecode_ty {F : Type u_1} [Field F] [Fintype F] [DecidableEq F] [Algebra (ZMod 2) F] {m t : ℕ} (π : F ≃ F) (b : Module.Basis (Fin t) (ZMod 2) F) (T : QLD.Ty) (x : Fin ((3 * m + 3) * t) → ZMod 2) :
theorem MIPRE.Tailored.Intro.HonestChain.op_inl_eq_zero {F : Type u_1} {A : Type u_2} [Field F] [Fintype F] [DecidableEq F] [Algebra (ZMod 2) F] [Fintype A] [DecidableEq A] {m d ℓ t : ℕ} [NeZero m] (L : Bool → CL.CLFun (ZMod 2) (Introspection.BinaryComplete.Coord m t) ℓ) (D : Introspection.BinaryComplete.Seed m t → Introspection.BinaryComplete.Seed m t → A → A → Bool) (R : SyncStrategy (Introspection.Honest.sourceGame L D).doubled) (hm : m ∣ Fintype.card F) (b : Module.Basis (Fin t) (ZMod 2) F) (hL : ∀ (w : Bool), (L w).SupportedOn Finset.univ) (T : QLD.Ty) (x : Fin ((3 * m + 3) * t) → ZMod 2) (a : Introspection.BinaryComplete.Answer F A m t d) (ha : ∀ (p : QLD.Answer F m d), a ≠ Introspection.ParsedAnswer.pauli p) :

The binary operator at a Pauli label vanishes off the Pauli answers.

At a Pauli label the honest measurement charges only Pauli answers.

The honest auxiliary measurements' support #

theorem MIPRE.Tailored.Intro.HonestChain.parsedCoreOp_support {ι : Type u_1} {A : Type u_2} {PA : Type u_3} [Fintype ι] [DecidableEq ι] [Fintype A] [DecidableEq A] [Fintype PA] {ℓ : ℕ} (L : Bool → CL.CLFun CL.𝔽₂ ι ℓ) (D : (ι → CL.𝔽₂) → (ι → CL.𝔽₂) → A → A → Bool) (R : SyncStrategy (Introspection.Honest.sourceGame L D).doubled) (t : Introspection.Honest.CoreType) (b : Introspection.ParsedAnswer (ι → CL.𝔽₂) A PA) (h : Introspection.Honest.parsedCoreOp L D R t b ≠ 0) :
theorem MIPRE.Tailored.Intro.HonestChain.parsedReadOp_support {ι : Type u_1} {A : Type u_2} {PA : Type u_3} [Fintype ι] [DecidableEq ι] [Fintype A] [DecidableEq A] [Fintype PA] {ℓ : ℕ} (L : Bool → CL.CLFun CL.𝔽₂ ι ℓ) (D : (ι → CL.𝔽₂) → (ι → CL.𝔽₂) → A → A → Bool) (R : SyncStrategy (Introspection.Honest.sourceGame L D).doubled) (w : Bool) (hL : (L w).SupportedOn Finset.univ) (b : Introspection.ParsedAnswer (ι → CL.𝔽₂) A PA) (h : Introspection.Honest.parsedReadOp L D R w hL b ≠ 0) :
∃ (y : ι → CL.𝔽₂) (yp : ι → CL.𝔽₂) (α : A), b = Introspection.ParsedAnswer.read y yp α ∧ R.P.M (w, y) α ≠ 0
theorem MIPRE.Tailored.Intro.HonestChain.parsedHideOp_support {ι : Type u_1} {A : Type u_2} {PA : Type u_3} [Fintype ι] [DecidableEq ι] [Fintype A] [DecidableEq A] [Fintype PA] {ℓ : ℕ} (L : Bool → CL.CLFun CL.𝔽₂ ι ℓ) (D : (ι → CL.𝔽₂) → (ι → CL.𝔽₂) → A → A → Bool) (R : SyncStrategy (Introspection.Honest.sourceGame L D).doubled) (w : Bool) (k : ℕ) (hL : (L w).SupportedOn Finset.univ) (b : Introspection.ParsedAnswer (ι → CL.𝔽₂) A PA) (h : Introspection.Honest.parsedHideOp L D R w k hL b ≠ 0) :
∃ (y : ι → CL.𝔽₂) (yp : ι → CL.𝔽₂) (x : ι → CL.𝔽₂), b = Introspection.ParsedAnswer.hide y yp x

The support of the honest strategy, label by label #

The support of the honest strategy of the guarded game.

theorem MIPRE.Tailored.Intro.HonestChain.raw_support {c : ℕ} (W : Verifier 7) {lam n : ℕ} (RW : SyncStrategy (W.game (2 ^ n) ((2 ^ n) ^ lam)).doubled) (he : Even c) (V : TailoredVerifier 7) (hc : 2 ≤ c) (hlen : ∀ (p : Bool × W.Questions (2 ^ n)) (a : Verifier.Answers ((2 ^ n) ^ lam)), RW.P.M p a ≠ 0 → List.length ↑a = V.lenOf (2 ^ n) (CL.toBits p.2) false + V.lenOf (2 ^ n) (CL.toBits p.2) true) (U : Cost.ClockedUniversalMachine) (hW : W.IsBounded lam) (hn : 1 ≤ n) (q : Bool × CL.Detyping.Question Introspection.DecisionKernel.Label (Fin (Introspection.PauliSampler.dimension c lam n))) (a : Verifier.Answers (Introspection.DecisionCompiler.outerBound c lam n)) (ha : (raw W RW hc he U hW hn).P.M q a ≠ 0) :
Complete.okT V W c lam ⋯ q.2 a

hsupp: the honest strategy of the typed game charges only well-formed byte answers whose registers satisfy the readable conditions.

The input: a permutation strategy of the tailored verifier #

noncomputable def MIPRE.Tailored.Intro.HonestChain.inputSync (V : TailoredVerifier 7) (U : Cost.UniversalMachine) {n T : ℕ} (hT : (V.tgame (2 ^ n)).maxLen ≤ T) (SV : PermStrategy (V.tgame (2 ^ n)).doubled) :
SyncStrategy ((V.ofTNFV U).game (2 ^ n) T).doubled

The input's strategy (lem:zpc-pcc): the measurements of a permutation strategy of the doubled tailored game on answer strings (PermStrategy.toSync), extended by zero to the answers of the normal form verifier V.ofTNFV U.

Equations
Instances For
    theorem MIPRE.Tailored.Intro.HonestChain.inputSync_value (V : TailoredVerifier 7) (U : Cost.UniversalMachine) {n T : ℕ} (hT : (V.tgame (2 ^ n)).maxLen ≤ T) (SV : PermStrategy (V.tgame (2 ^ n)).doubled) (h : SV.value = 1) :
    (inputSync V U hT SV).value = 1
    theorem MIPRE.Tailored.Intro.HonestChain.inputSync_M (V : TailoredVerifier 7) (U : Cost.UniversalMachine) {n T : ℕ} (hT : (V.tgame (2 ^ n)).maxLen ≤ T) (SV : PermStrategy (V.tgame (2 ^ n)).doubled) (p : Bool × V.Questions (2 ^ n)) :
    (inputSync V U hT SV).P.M p = Function.extend (⇑(Verifier.Answers.castLE hT)) (SV.ansProj (V.tgame (2 ^ n)).maxLen p) 0
    theorem MIPRE.Tailored.Intro.HonestChain.inputSync_len (V : TailoredVerifier 7) (U : Cost.UniversalMachine) {n T : ℕ} (hT : (V.tgame (2 ^ n)).maxLen ≤ T) (SV : PermStrategy (V.tgame (2 ^ n)).doubled) (p : Bool × V.Questions (2 ^ n)) (a : Verifier.Answers T) (ha : (inputSync V U hT SV).P.M p a ≠ 0) :
    List.length ↑a = V.lenOf (2 ^ n) (CL.toBits p.2) false + V.lenOf (2 ^ n) (CL.toBits p.2) true

    The input's answers have the tailored verifier's lengths.

    theorem MIPRE.Tailored.Intro.HonestChain.inputSync_bit (V : TailoredVerifier 7) (U : Cost.UniversalMachine) {n T : ℕ} (hT : (V.tgame (2 ^ n)).maxLen ≤ T) (SV : PermStrategy (V.tgame (2 ^ n)).doubled) (p : Bool × V.Questions (2 ^ n)) (j : ℕ) :
    (IsXBit ((inputSync V U hT SV).P.M p) fun (a : Verifier.Answers T) => List.getD (↑a) j false) ∧ (j < V.lenOf (2 ^ n) (CL.toBits p.2) false → IsZBit ((inputSync V U hT SV).P.M p) fun (a : Verifier.Answers T) => List.getD (↑a) j false)

    The input's answer bits are signed permutations, diagonal below the readable length.

    The honest strategy, in one statement #

    theorem MIPRE.Tailored.Intro.HonestChain.honest_zpc (c : ℕ) (hc : 2 ≤ c) (he : Even c) (U : Cost.ClockedUniversalMachine) (W : Verifier 7) (lam n : ℕ) (hW : W.IsBounded lam) (hn : 1 ≤ n) (RW : SyncStrategy (W.game (2 ^ n) ((2 ^ n) ^ lam)).doubled) (hRW : RW.IsPCC) (hv : RW.value = 1) (V : TailoredVerifier 7) (hlen : ∀ (p : Bool × W.Questions (2 ^ n)) (a : Verifier.Answers ((2 ^ n) ^ lam)), RW.P.M p a ≠ 0 → List.length ↑a = V.lenOf (2 ^ n) (CL.toBits p.2) false + V.lenOf (2 ^ n) (CL.toBits p.2) true) (hX : ∀ (p : Bool × W.Questions (2 ^ n)) (j : ℕ), IsXBit (RW.P.M p) fun (a : Verifier.Answers ((2 ^ n) ^ lam)) => List.getD (↑a) j false) (hZ : ∀ (p : Bool × W.Questions (2 ^ n)), ∀ j < V.lenOf (2 ^ n) (CL.toBits p.2) false, IsZBit (RW.P.M p) fun (a : Verifier.Answers ((2 ^ n) ^ lam)) => List.getD (↑a) j false) :

    ZPC completeness of the tailored question reduction, the strategy (P3c): for an input normal form verifier W presenting the tailored verifier V, with a perfect PCC strategy RW at index 2^n whose answers have V's lengths and whose answer bits are signed permutations, diagonal below V's readable length, the honest strategy raw of the reference verifier's typed game is a perfect PCC strategy that charges only well-formed answers satisfying the readable conditions (hsupp), whose bit observables along the padded layout are signed permutations (hperm), diagonal at the readable bits (hdiag).

    noncomputable def MIPRE.Tailored.Intro.HonestChain.inputSyncT (V : TailoredVerifier 7) (U0 : Cost.UniversalMachine) {n T : ℕ} (hT : (V.tgame (2 ^ n)).maxLen ≤ T) (SV : PermStrategy (V.tgame (2 ^ n)).doubled) :
    SyncStrategy ((V.ofTNFVT U0).game (2 ^ n) T).doubled

    The input's strategy on the game of V.ofTNFVT U0, the same game as that of V.ofTNFV U0 (ofTNFVT_game).

    Equations
    Instances For
      theorem MIPRE.Tailored.Intro.HonestChain.inputSyncT_value (V : TailoredVerifier 7) (U0 : Cost.UniversalMachine) {n T : ℕ} (hT : (V.tgame (2 ^ n)).maxLen ≤ T) (SV : PermStrategy (V.tgame (2 ^ n)).doubled) (h : SV.value = 1) :
      (inputSyncT V U0 hT SV).value = 1
      theorem MIPRE.Tailored.Intro.HonestChain.honest_zpc_ofTNFVT (c : ℕ) (hc : 2 ≤ c) (he : Even c) (U : Cost.ClockedUniversalMachine) (T : TailoredVerifier 7) (U0 : Cost.UniversalMachine) (lam n : ℕ) (hW : (T.ofTNFVT U0).IsBounded lam) (hn : 1 ≤ n) (hT : (T.tgame (2 ^ n)).maxLen ≤ (2 ^ n) ^ lam) (hV : T.HasPerfectZPC (2 ^ n)) :

      ZPC completeness of the tailored question reduction, the instance (P3c): the input T.ofTNFVT U0 of a tailored verifier T with a perfect ZPC strategy at index 2^n whose answers fit the cutoff (2^n)^lam. The honest strategy of the reference verifier's typed game meets the hypotheses hsupp, hperm, hdiag of Complete.hasPerfectZPC_tpresented.