Documentation

MIPRE.Foundations.Introspection.SamplingRigidity

Sampling supplies the Introspect-prefix rigidity input #

The actual Z/Sample and Sample/Introspect tests transfer extracted Pauli-Z rigidity to every Introspect prefix. The only coarse-graining of a distance is between two projective measurements on opposite parties, so the loss is independent of the seed and answer alphabets.

Stated in a bipartite model (Phase 4 of planning/mipco-track.md): the state is the register model Ξ.reg (Îč → F) of a normalized auxiliary model, and the honest Z readouts enter as smulKron 1 _.

theorem MIPRE.Introspection.TypedEstimates.sampling_replace_bob {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (Κ : BipartiteModel 𝒞 𝒜 ℬ) {Y : Type u_4} [Fintype Y] (S : Y → 𝒜) (Z Q : Y → ℬ) {e η : ℝ} (hS : ∑ y : Y, Κ.xSqNorm (S y) (Z y) ≀ e) (hZ : ∑ y : Y, Κ.snorm (Κ.πB (Z y - Q y)) ^ 2 ≀ η) :
∑ y : Y, Κ.xSqNorm (S y) (Q y) ≀ 2 * e + 2 * η
theorem MIPRE.Introspection.TypedEstimates.sampling_common_alice {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (Κ : BipartiteModel 𝒞 𝒜 ℬ) {Y : Type u_4} [Fintype Y] (S : Y → 𝒜) (I Q : Y → ℬ) {e η : ℝ} (hI : ∑ y : Y, Κ.xSqNorm (S y) (I y) ≀ e) (hQ : ∑ y : Y, Κ.xSqNorm (S y) (Q y) ≀ η) :
∑ y : Y, Κ.snorm (Κ.πB (I y - Q y)) ^ 2 ≀ 2 * e + 2 * η
theorem MIPRE.Introspection.TypedEstimates.introspect_prefix_register_rigidity_bob {PauliType : Type u_1} {PauliAnswer : Type u_2} {F : Type u_3} {Îč : Type u_4} {Îș : Type u_5} {A : Type u_6} [Fintype PauliType] [DecidableEq PauliType] [Fintype PauliAnswer] [Field F] [Fintype F] [DecidableEq F] [Fintype Îč] [DecidableEq Îč] [Fintype Îș] [DecidableEq Îș] [Fintype A] {ℓ : ℕ} {𝒞 : Type u_7} {𝒜 : Type u_8} {ℬ : Type u_9} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [StarModule ℂ 𝒜] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [StarProper 𝒜] [StarModule ℂ ℬ] [PartialOrder ℬ] [StarOrderedRing ℬ] [StarProper ℬ] (E : PauliType → PauliType → Bool) (X Z : PauliType) (P : PauliType → CL.CLFun (ZMod 2) Îș 3) (L : Bool → CL.CLFun F Îč ℓ) (projectPauli : PauliAnswer → Îč → F) (D : (Îč → F) → (Îč → F) → A → A → Bool) (DP : PauliType → PauliType → (Îș → ZMod 2) → (Îș → ZMod 2) → PauliAnswer → PauliAnswer → Bool) (Ξ : BipartiteModel 𝒞 𝒜 ℬ) (hΞ : ‖Ξ.ψ‖ = 1) (MA : CL.Detyping.Question (QuestionType PauliType ℓ) Îș → POVMIn (ParsedAnswer (Îč → F) A PauliAnswer) (Matrix (Îč → F) (Îč → F) 𝒜)) (MB : CL.Detyping.Question (QuestionType PauliType ℓ) Îș → POVMIn (ParsedAnswer (Îč → F) A PauliAnswer) (Matrix (Îč → F) (Îč → F) ℬ)) {Δ η : ℝ} (hfail : 1 - (Ξ.reg (Îč → F)).povmValue (parsedGame E X Z P L projectPauli D DP) MA MB ≀ Δ) (q : Îș → ZMod 2) (hq : ∀ (z : Îș → ZMod 2), (P Z).eval z = q) (w : Bool) (hL : (L w).SupportedOn Finset.univ) (hS : IsPVMIn (MA (QuestionType.sample w, 0)).op) (hZ : ∑ z : Option (Îč → F), (Ξ.reg (Îč → F)).snorm ((Ξ.reg (Îč → F)).πB ((POVMIn.map (pauliProjection projectPauli) (MB (QuestionType.pauli Z, q))).op z - smulKron 1 (readout some z))) ^ 2 ≀ η) (j : ℕ) :
∑ y : Option (Îč → F), (Ξ.reg (Îč → F)).snorm ((Ξ.reg (Îč → F)).πB ((POVMIn.map (reportedPrefix (L w) j AuxType.introspect) (MB (QuestionType.introspect w, 0))).op y - smulKron 1 (Honest.hidingPrefixOp (L w) j y))) ^ 2 ≀ 4 * η + 12 * ↑(TypeGraph.edges E X Z ℓ).card * Δ