Documentation

MIPRE.Background.LIDT.Co.Chain.Extraction

The model chain, part 2: extracting exactly linear combined codewords #

The model counterpart of the operator half of the repository's MIPRE/Background/LIDT/Extraction.lean (blueprint lem:lidt-ldc-extraction; not a vendored file: its matrix statements serve the tensor instance soundIn_tensor and stay), in the port of planning/c6b-plan.md (milestone M14, unit M14-3). It is the paper's Step 4 of the proof of lem:ld-soundness for general ldc (ldt.tex, Claims 4 and 5), read in any bipartite model M : MIPRE.BipartiteModel š’ž š’œ ℬ whose two algebras are star-ordered ⋆-rings (the instance set of MIPRE.LIDT.Simul.SoundIn), at a unit state ‖M.Ļˆā€– = 1.

The simultaneous test with r codewords is reduced to the single-codeword test in K + m variables by combining: a point (x, y) ∈ F^K Ɨ F^m is answered by āˆ‘_{j < r} x_j b_j, where b ∈ F^r is the original point answer at y (combPOVM). The single-codeword theorem returns a measurement R of polynomials in the K + m variables, consistent with the combined answers; extractPM turns it back into a measurement of r-tuples of polynomials in the m original variables, read at a point by MIPRE.LIDT.Simul.evalTuplePOVMIn (ModelSoundness.lean), and extracted_conclusions transfers the three conclusions, at the price (K + m) d / q on the two point conclusions. Every statement is in the vocabulary of M.inconsistency and M.bornProb; the original point measurements A, B are any families (in the chain, the tuple readings MIPRE.LIDT.Simul.tuplePOVMAIn, tuplePOVMBIn of a strategy for the seeded test).

The proofs are those of the matrix file, with the matrix Born rule replaced by the model's: the estimate is the classical MIPRE.LIDT.Simul.sum_agreeX_le, applied to the weights β y b g = M.bornProb (A_y)_b R_g, which are nonnegative because the two players' positive operators commute (BipartiteModel.bornProb_nonneg), and whose sum over b is the weight of g alone (BipartiteModel.bornProb_one_left). Nothing is dimension-dependent.

Reused by import. The classical half of Extraction.lean (the partial evaluation, the linear forms, the extraction itself, Schwartz--Zippel at a fixed y and the weighted bound) is imported and named through an explicit open MIPRE.LIDT.Simul (…) list: extract, extEval, linPoly, padB, agreeX, sum_agreeX_le, xOf, yOf, sum_uniform_pad, sum_uniform_agree, sum_uniform_one, and evalTuplePOVMIn of ModelSoundness.lean.

Not ported #

The declarations of the operator section of Extraction.lean are redeclared here, under their names, for POVMs in the algebras of M: inconsistency_eq_one_sub, sum_bornProb_map_right, sum_bornProb_map_left, inconsistency_extract_right_le, inconsistency_extract_left_le, inconsistency_map_le, extractPM, combPOVM and extracted_conclusions. Of the rest:

inconsistency_map_le drops the hypothesis āˆ‘ x, μ x = 1 of the matrix statement, which its model proof (through BipartiteModel.dis_map_le) does not use, and extracted_conclusions takes RA, RB as POVMs, projectivity being the separate extractPM_isPVMIn.

New here #

The operator form #

theorem MIPRE.LIDT.Co.Chain.inconsistency_eq_one_sub {š’ž : Type u_1} {š’œ : Type u_2} {ℬ : Type u_3} [Ring š’ž] [StarRing š’ž] [Algebra ā„‚ š’ž] [Ring š’œ] [StarRing š’œ] [Algebra ā„‚ š’œ] [Ring ℬ] [StarRing ℬ] [Algebra ā„‚ ℬ] [PartialOrder š’œ] [PartialOrder ℬ] {M : BipartiteModel š’ž š’œ ℬ} {X : Type u_5} {Ī› : Type u_6} [Fintype X] [Fintype Ī›] [DecidableEq Ī›] {μ : X → ā„} (hμ1 : āˆ‘ x : X, μ x = 1) (hψ : ‖M.Ļˆā€– = 1) (P : X → POVMIn Ī› š’œ) (Q : X → POVMIn Ī› ℬ) :
M.inconsistency μ P Q = 1 - āˆ‘ x : X, μ x * āˆ‘ a : Ī›, M.bornProb ((P x).op a) ((Q x).op a)

inconsistency is one minus the average agreement, for POVMs at a unit state and a probability distribution on the questions.

theorem MIPRE.LIDT.Co.Chain.sum_bornProb_map_right {š’ž : Type u_1} {š’œ : Type u_2} {ℬ : Type u_3} [Ring š’ž] [StarRing š’ž] [Algebra ā„‚ š’ž] [Ring š’œ] [StarRing š’œ] [Algebra ā„‚ š’œ] [Ring ℬ] [StarRing ℬ] [Algebra ā„‚ ℬ] [PartialOrder ℬ] [StarOrderedRing ℬ] (M : BipartiteModel š’ž š’œ ℬ) {A : Type u_5} {C : Type u_6} [Fintype A] [Fintype C] [DecidableEq C] (P : C → š’œ) (N : POVMIn A ℬ) (f : A → C) :
āˆ‘ c : C, M.bornProb (P c) ((POVMIn.map f N).op c) = āˆ‘ a : A, M.bornProb (P (f a)) (N.op a)

Relabelling the second family: āˆ‘_c ⟨P_c, (N.map f)_c⟩ = āˆ‘_a ⟨P_{f a}, N_a⟩.

theorem MIPRE.LIDT.Co.Chain.sum_bornProb_map_left {š’ž : Type u_1} {š’œ : Type u_2} {ℬ : Type u_3} [Ring š’ž] [StarRing š’ž] [Algebra ā„‚ š’ž] [Ring š’œ] [StarRing š’œ] [Algebra ā„‚ š’œ] [Ring ℬ] [StarRing ℬ] [Algebra ā„‚ ℬ] [PartialOrder š’œ] [StarOrderedRing š’œ] (M : BipartiteModel š’ž š’œ ℬ) {A : Type u_5} {C : Type u_6} [Fintype A] [Fintype C] [DecidableEq C] (N : POVMIn A š’œ) (Q : C → ℬ) (f : A → C) :
āˆ‘ c : C, M.bornProb ((POVMIn.map f N).op c) (Q c) = āˆ‘ a : A, M.bornProb (N.op a) (Q (f a))

Relabelling the first family.

theorem MIPRE.LIDT.Co.Chain.inconsistency_extract_right_le {š’ž : Type u_1} {š’œ : Type u_2} {ℬ : Type u_3} [Ring š’ž] [StarRing š’ž] [Algebra ā„‚ š’ž] [Ring š’œ] [StarRing š’œ] [Algebra ā„‚ š’œ] [Ring ℬ] [StarRing ℬ] [Algebra ā„‚ ℬ] [PartialOrder š’œ] [StarOrderedRing š’œ] [PartialOrder ℬ] [StarOrderedRing ℬ] {F : Type u_4} [Field F] [Fintype F] [DecidableEq F] {K m d r : ā„•} {M : BipartiteModel š’ž š’œ ℬ} (hd : 1 ≤ d) (hr : r ≤ K) (hψ : ‖M.Ļˆā€– = 1) (A : Point F m → POVMIn (Fin r → F) š’œ) (R : POVMIn LowIndDegPoly ℬ) :
(M.inconsistency (uniform (Point F m)) A fun (y : Point F m) => POVMIn.map (fun (g : LowIndDegPoly) => Simul.extEval hd hr g y) R) ≤ (M.inconsistency (uniform (Point F (K + m))) (fun (u : Point F (K + m)) => POVMIn.map (fun (b : Fin r → F) => (Simul.linPoly hd (Simul.padB b)).eval (Simul.xOf u)) (A (Simul.yOf u))) fun (u : Point F (K + m)) => POVMIn.map (fun (g : LowIndDegPoly) => g.eval u) R) + (↑K + ↑m) * ↑d / ↑(Fintype.card F)

The extraction bound, the extracted measurement on the second party.

theorem MIPRE.LIDT.Co.Chain.inconsistency_extract_left_le {š’ž : Type u_1} {š’œ : Type u_2} {ℬ : Type u_3} [Ring š’ž] [StarRing š’ž] [Algebra ā„‚ š’ž] [Ring š’œ] [StarRing š’œ] [Algebra ā„‚ š’œ] [Ring ℬ] [StarRing ℬ] [Algebra ā„‚ ℬ] [PartialOrder š’œ] [StarOrderedRing š’œ] [PartialOrder ℬ] [StarOrderedRing ℬ] {F : Type u_4} [Field F] [Fintype F] [DecidableEq F] {K m d r : ā„•} {M : BipartiteModel š’ž š’œ ℬ} (hd : 1 ≤ d) (hr : r ≤ K) (hψ : ‖M.Ļˆā€– = 1) (R : POVMIn LowIndDegPoly š’œ) (B : Point F m → POVMIn (Fin r → F) ℬ) :
M.inconsistency (uniform (Point F m)) (fun (y : Point F m) => POVMIn.map (fun (g : LowIndDegPoly) => Simul.extEval hd hr g y) R) B ≤ (M.inconsistency (uniform (Point F (K + m))) (fun (u : Point F (K + m)) => POVMIn.map (fun (g : LowIndDegPoly) => g.eval u) R) fun (u : Point F (K + m)) => POVMIn.map (fun (b : Fin r → F) => (Simul.linPoly hd (Simul.padB b)).eval (Simul.xOf u)) (B (Simul.yOf u))) + (↑K + ↑m) * ↑d / ↑(Fintype.card F)

The extraction bound, the extracted measurement on the first party.

The extracted measurements, and the three conclusions #

theorem MIPRE.LIDT.Co.Chain.inconsistency_map_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 š’ž š’œ ℬ} {X : Type u_5} {Ī› : Type u_6} {C : Type u_7} [Fintype X] [Fintype Ī›] [DecidableEq Ī›] [Fintype C] [DecidableEq C] {μ : X → ā„} (hμ0 : āˆ€ (x : X), 0 ≤ μ x) (hψ : ‖M.Ļˆā€– = 1) (P : X → POVMIn Ī› š’œ) (Q : X → POVMIn Ī› ℬ) (f : Ī› → C) :
(M.inconsistency μ (fun (x : X) => POVMIn.map f (P x)) fun (x : X) => POVMIn.map f (Q x)) ≤ M.inconsistency μ P Q

Data processing for inconsistency: relabelling both families' outcomes the same way can only decrease the disagreement.

noncomputable def MIPRE.LIDT.Co.Chain.extractPM {F : Type u_4} [Field F] [Fintype F] [DecidableEq F] {K m d r : ā„•} {R : Type u_5} [Ring R] [StarRing R] [PartialOrder R] [StarOrderedRing R] (hd : 1 ≤ d) (hr : r ≤ K) (G : POVMIn LowIndDegPoly R) :
POVMIn (Fin r → LowIndDegPoly) R

The extracted measurement: R coarse-grained by extract, a measurement of r-tuples of polynomials in the m original variables.

Equations
Instances For
    theorem MIPRE.LIDT.Co.Chain.extractPM_isPVMIn {F : Type u_4} [Field F] [Fintype F] [DecidableEq F] {K m d r : ā„•} {R : Type u_5} [Ring R] [StarRing R] [PartialOrder R] [StarOrderedRing R] (hd : 1 ≤ d) (hr : r ≤ K) {G : POVMIn LowIndDegPoly R} (hG : IsPVMIn G.op) :
    IsPVMIn (extractPM hd hr G).op

    The extracted measurement of a projective measurement is projective.

    theorem MIPRE.LIDT.Co.Chain.evalTuplePOVMIn_extractPM {F : Type u_4} [Field F] [Fintype F] [DecidableEq F] {K m d r : ā„•} {R : Type u_5} [Ring R] [StarRing R] [PartialOrder R] [StarOrderedRing R] (hd : 1 ≤ d) (hr : r ≤ K) (G : POVMIn LowIndDegPoly R) (y : Point F m) :

    The extracted measurement read at y is R relabelled by the extracted tuple at y.

    def MIPRE.LIDT.Co.Chain.combPOVM {F : Type u_4} [Field F] [Fintype F] [DecidableEq F] {K m d r : ā„•} {R : Type u_5} [Ring R] [StarRing R] [PartialOrder R] [StarOrderedRing R] (hd : 1 ≤ d) (A : Point F m → POVMIn (Fin r → F) R) (u : Point F (K + m)) :
    POVMIn F R

    The combined point measurement: at the padded point (x, y), measure the original point measurement at y and answer āˆ‘_{j < r} x_j b_j.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem MIPRE.LIDT.Co.Chain.extracted_conclusions {š’ž : Type u_1} {š’œ : Type u_2} {ℬ : Type u_3} [Ring š’ž] [StarRing š’ž] [Algebra ā„‚ š’ž] [Ring š’œ] [StarRing š’œ] [Algebra ā„‚ š’œ] [Ring ℬ] [StarRing ℬ] [Algebra ā„‚ ℬ] [PartialOrder š’œ] [StarOrderedRing š’œ] [PartialOrder ℬ] [StarOrderedRing ℬ] {F : Type u_4} [Field F] [Fintype F] [DecidableEq F] {K m d r : ā„•} {M : BipartiteModel š’ž š’œ ℬ} (hd : 1 ≤ d) (hr : r ≤ K) (hψ : ‖M.Ļˆā€– = 1) (A : Point F m → POVMIn (Fin r → F) š’œ) (B : Point F m → POVMIn (Fin r → F) ℬ) (RA : POVMIn LowIndDegPoly š’œ) (RB : POVMIn LowIndDegPoly ℬ) {Ī“ : ā„} (h1 : M.inconsistency (uniform (Point F (K + m))) (combPOVM hd A) (evalPOVMIn RB) ≤ Ī“) (h2 : M.inconsistency (uniform (Point F (K + m))) (evalPOVMIn RA) (combPOVM hd B) ≤ Ī“) (h3 : (M.inconsistency (uniform Unit) (fun (x : Unit) => RA) fun (x : Unit) => RB) ≤ Ī“) :
      M.inconsistency (uniform (Point F m)) A (Simul.evalTuplePOVMIn (extractPM hd hr RB)) ≤ Ī“ + (↑K + ↑m) * ↑d / ↑(Fintype.card F) ∧ M.inconsistency (uniform (Point F m)) (Simul.evalTuplePOVMIn (extractPM hd hr RA)) B ≤ Ī“ + (↑K + ↑m) * ↑d / ↑(Fintype.card F) ∧ (M.inconsistency (uniform Unit) (fun (x : Unit) => extractPM hd hr RA) fun (x : Unit) => extractPM hd hr RB) ≤ Ī“

      From the single-codeword conclusions to the simultaneous ones (the paper's Step 4), in the model M at a unit state. If the two players' measurements RA, RB of polynomials in the K + m variables satisfy the three conclusions of the single-codeword theorem against the combined point measurements, with error Ī“, then their extractions satisfy the three conclusions of the simultaneous theorem against the original point measurements A, B, with error Ī“ + (K + m) d / q for the two point conclusions and Ī“ for the full-tuple one.