Documentation

MIPRE.Tailored.AnsRed.SlotIndex

The positions of the slots among the oracle's codewords #

The oracle's answer in the answer-reduced game lists a codeword for every slot of the PCP, the readable ones first (slotsOf), and a slot's codeword sits at its position idxO. The linear-constraints processor reads the codewords at these positions, so they are computed here in closed form: the readable slots in the order of rSlots, then the linear ones in the order of lSlots, after the 6 + m + 2ℓ + ◇' + 3r readable ones (idxO_gA, …, idxO_βL). The isolated players' codewords are g_A, g_{La} and g_B, g_{Lb} (slotsOf_alice, slotsOf_bob).

theorem MIPRE.Tailored.AnsRed.idxOf_ofFn {α : Type u_1} [DecidableEq α] {n : ℕ} {f : Fin n → α} (hf : Function.Injective f) (i : Fin n) :
List.idxOf (f i) (List.ofFn f) = ↑i
theorem MIPRE.Tailored.AnsRed.finRange3_flatMap {α : Type u_1} (g : Fin 3 → List α) :
List.flatMap g (List.finRange 3) = g 0 ++ (g 1 ++ g 2)

The simp set that computes positions of slots in the oracle's codewords.

Equations
Instances For

    The readable slots #

    theorem MIPRE.Tailored.AnsRed.idxO_gW {L : PcpDims} (k : Fin 3) :
    idxO (Slot.gW k) = 3 + ↑k
    theorem MIPRE.Tailored.AnsRed.idxO_αR {L : PcpDims} (X : Fin L.m) :
    idxO (Slot.αR X) = 6 + ↑X
    theorem MIPRE.Tailored.AnsRed.idxO_βA {L : PcpDims} (i : Fin L.ℓ) :
    idxO (Slot.βA i) = 6 + L.m + ↑i
    theorem MIPRE.Tailored.AnsRed.idxO_βB {L : PcpDims} (i : Fin L.ℓ) :
    idxO (Slot.βB i) = 6 + L.m + L.ℓ + ↑i
    theorem MIPRE.Tailored.AnsRed.idxO_βO {L : PcpDims} (i : Fin L.oW) :
    idxO (Slot.βO i) = 6 + L.m + L.ℓ + L.ℓ + ↑i
    theorem MIPRE.Tailored.AnsRed.idxO_βW {L : PcpDims} (k : Fin 3) (i : Fin L.r) :
    idxO (Slot.βW k i) = 6 + L.m + L.ℓ + L.ℓ + L.oW + ↑k * L.r + ↑i

    The linear slots #

    theorem MIPRE.Tailored.AnsRed.idxO_βL {L : PcpDims} (k : Fin 3) (i : Fin L.dm) :
    idxO (Slot.βL k i) = (rSlots L).length + 5 + L.oW + L.ℓ + L.ℓ + ↑k * L.dm + ↑i

    The isolated players' codewords #

    The blocks of the slots #

    theorem MIPRE.Tailored.AnsRed.Slot.val_emb {L : PcpDims} (s : Slot L) (x : Fin s.size) :
    ↑(s.emb x) = s.lo + ↑x

    A slot's block is the interval of size wires from lo.

    theorem MIPRE.Tailored.AnsRed.Slot.exists_emb_iff {L : PcpDims} (s : Slot L) (w : ℕ) :
    (∃ (x : Fin s.size), ↑(s.emb x) = w) ↔ s.lo ≤ w ∧ w < s.lo + s.size

    A wire lies in a slot's block exactly when it lies in its interval.