Documentation

MIPRE.Tailored.Sofic.Passes

Passing a challenge of the associated test, under Checks 1–3 #

For an action σ passing Checks 1–3 (Checks g σ), the decision of the challenge at (x, y) of assocTest g reduces to Check 4: the point p passes exactly when every constraint word whose readable part is the readable value rdv σ x y p of p fixes p (passes_iff). The fixed literals then always hold (fixedLits_holds), and the readable literal of a readable variable holds for exactly one of its two words (inStab_readWord_iff).

Also: the value of the test as a μ-weighted average of pass probabilities (value_eq_sum), and the number of distinct constraint words (length_consWords_le').

Words as permutations #

The fixed and readable literals under Checks 1–3 #

theorem MIPRE.Tailored.Sofic.fixedLits_holds {g : TailoredGameValue.TailoredGameData} {σ : SubgroupTestValue.FiniteAction (nGen g)} (hσ : Checks g σ) {x y : ℕ} (hx : x < g.nV + 1) (hy : y < g.nV + 1) (p : Fin σ.N) {wb : SubgroupTestValue.Word × Bool} (hwb : wb ∈ fixedLits g x y) :
decide (σ.InStab p wb.1) = wb.2

The fixed literals hold (Checks 1 and 2).

theorem MIPRE.Tailored.Sofic.mem_readVars {g : TailoredGameValue.TailoredGameData} {x y : ℕ} {X : SubgroupTestValue.Word} (hX : X ∈ readVars g x y) :
∃ (z : ℕ) (i : ℕ), (z = x ∨ z = y) ∧ i < g.lenRAt z ∧ X = wX g z i

The readable value of a point at (x, y): for each readable variable, whether it moves the point.

Equations
Instances For
    theorem MIPRE.Tailored.Sofic.flatMap_pair_length {α : Type u_1} {β : Type u_2} (l : List α) (f h : α → β) :
    (List.flatMap (fun (a : α) => [f a, h a]) l).length = 2 * l.length
    theorem MIPRE.Tailored.Sofic.flatMap_pair_getElem {α : Type u_1} {β : Type u_2} (l : List α) (f h : α → β) (t : ℕ) (b : Bool) (ht : t < l.length) (hlt : (2 * t + if b = true then 1 else 0) < (List.flatMap (fun (a : α) => [f a, h a]) l).length) :
    (List.flatMap (fun (a : α) => [f a, h a]) l)[2 * t + if b = true then 1 else 0] = if b = true then h l[t] else f l[t]
    theorem MIPRE.Tailored.Sofic.inStab_readWord_iff {g : TailoredGameValue.TailoredGameData} {σ : SubgroupTestValue.FiniteAction (nGen g)} (hσ : Checks g σ) {x y : ℕ} (hx : x < g.nV + 1) (hy : y < g.nV + 1) (p : Fin σ.N) (t : ℕ) (ht : t < (readVars g x y).length) (b : Bool) (hlt : (2 * t + if b = true then 1 else 0) < (readWords g x y).length) :
    σ.InStab p (readWords g x y)[2 * t + if b = true then 1 else 0] ↔ b = (rdv σ x y p)[t]

    The readable literal of a readable variable holds for exactly one of its words: X when X fixes the point, J X when it moves it (Check 3).

    The literals of the words K #

    theorem MIPRE.Tailored.Sofic.litHolds_fixed {g : TailoredGameValue.TailoredGameData} {σ : SubgroupTestValue.FiniteAction (nGen g)} (x y : ℕ) (p : Fin σ.N) (i : ℕ) (hi : i < (fixedLits g x y).length) (b : Bool) :
    σ.LitHolds (words g x y) p (i, b) ↔ decide (σ.InStab p (fixedLits g x y)[i].1) = b
    theorem MIPRE.Tailored.Sofic.litHolds_read {g : TailoredGameValue.TailoredGameData} {σ : SubgroupTestValue.FiniteAction (nGen g)} (x y : ℕ) (p : Fin σ.N) (i : ℕ) (hi : i < (readWords g x y).length) (b : Bool) :
    σ.LitHolds (words g x y) p ((fixedLits g x y).length + i, b) ↔ decide (σ.InStab p (readWords g x y)[i]) = b
    theorem MIPRE.Tailored.Sofic.litHolds_cons {g : TailoredGameValue.TailoredGameData} {σ : SubgroupTestValue.FiniteAction (nGen g)} (x y : ℕ) (p : Fin σ.N) (i : ℕ) (hi : i < (consWords g x y).length) (b : Bool) :
    σ.LitHolds (words g x y) p ((fixedLits g x y).length + (readWords g x y).length + i, b) ↔ decide (σ.InStab p (consWords g x y)[i]) = b
    theorem MIPRE.Tailored.Sofic.passes_iff {g : TailoredGameValue.TailoredGameData} {σ : SubgroupTestValue.FiniteAction (nGen g)} (hσ : Checks g σ) {x y : ℕ} (hx : x < g.nV + 1) (hy : y < g.nV + 1) (p : Fin σ.N) :
    σ.Passes (words g x y) (clauses g x y) p ↔ ∀ e ∈ consAt g x y, e.2.2.1 = rdv σ x y p → σ.InStab p (consWord g x y e.2.2.2)

    Passing a challenge under Checks 1–3 is Check 4: every constraint word whose readable part is the point's readable value fixes the point.

    The value of the test #

    theorem MIPRE.Tailored.Sofic.list_sum_map_range {M : Type u_1} [AddCommMonoid M] (n : ℕ) (f : ℕ → M) :
    (List.map f (List.range n)).sum = ∑ i : Fin n, f ↑i
    theorem MIPRE.Tailored.Sofic.list_sum_map_flatMap {α : Type u_1} {β : Type u_2} {M : Type u_3} [AddCommMonoid M] (l : List α) (F : α → List β) (h : β → M) :
    (List.map h (List.flatMap F l)).sum = (List.map (fun (a : α) => (List.map h (F a)).sum) l).sum
    theorem MIPRE.Tailored.Sofic.list_sum_map_square {β : Type u_1} {M : Type u_2} [AddCommMonoid M] (n : ℕ) (F : ℕ → ℕ → β) (h : β → M) :
    (List.map h (List.flatMap (fun (x : ℕ) => List.map (fun (y : ℕ) => F x y) (List.range n)) (List.range n))).sum = ∑ x : Fin n, ∑ y : Fin n, h (F ↑x ↑y)
    theorem MIPRE.Tailored.Sofic.value_eq_sum {g : TailoredGameValue.TailoredGameData} (σ : SubgroupTestValue.FiniteAction (nGen g)) :
    (assocTest g).value σ = ∑ x : Fin (g.nV + 1), ∑ y : Fin (g.nV + 1), g.toGame.μ x y * σ.passProb (words g ↑x ↑y) (clauses g ↑x ↑y)

    The value of the associated test is the μ-average of the pass probabilities of the challenges, μ being the game's question distribution.

    Counting the constraint words #

    There are at most 2^{ℓ(x) + ℓ(y) + 1} + 1 distinct constraint words at (x, y).