Documentation

MIPRE.Tailored.Intro.Presentation

Presenting a detyped game by a detyped tailored game #

The two transports of MIPRE.Tailored.Intro.Transport and the two reductions to the edges of MIPRE.Tailored.Detyping, put together: for a game H on detyped questions whose predicate calls a typed predicate Dt on the edges and accepts off them (the shape of every verifier this repository detypes, CL.Detyping.accepts), and typed tailored data D,

A list as a vector of a given length, padded with false.

Equations
Instances For
    @[reducible, inline]
    noncomputable abbrev MIPRE.Tailored.presented {T : Type u_1} {ι : Type u_2} [Fintype T] [DecidableEq T] [Fintype ι] [DecidableEq ι] (E : T → T → Prop) [DecidableRel E] {B : ℕ} (H : Game (CL.Detyping.Coord T ι → ZMod 2) (CL.Detyping.Coord T ι → ZMod 2) (Verifier.Answers B) (Verifier.Answers B)) (D : TypedData T ι) :

    The detyped tailored game, on the question distribution of H.

    Equations
    Instances For
      theorem MIPRE.Tailored.valStar_presented_le {T : Type u_1} {ι : Type u_2} [Fintype T] [DecidableEq T] [Fintype ι] [DecidableEq ι] (E : T → T → Prop) [DecidableRel E] {B : ℕ} (H : Game (CL.Detyping.Coord T ι → ZMod 2) (CL.Detyping.Coord T ι → ZMod 2) (Verifier.Answers B) (Verifier.Answers B)) (Dt : CL.Detyping.Question T ι → CL.Detyping.Question T ι → Verifier.Answers B → Verifier.Answers B → Bool) (hH : ∀ (x y : CL.Detyping.Coord T ι → ZMod 2) (a b : Verifier.Answers B), H.D x y a b = CL.Detyping.accepts E Dt x y a b) (D : TypedData T ι) (decT : CL.Detyping.Question T ι → Cost.BitStr → Verifier.Answers B) (a₀ : Verifier.Answers B) (h : ∀ (u v : CL.Detyping.Question T ι) (a b : Cost.BitStr), E u.1 v.1 → D.Accepts u v a b → Dt u v (decT u a) (decT v b) = true) :

      Soundness of the presentation.

      def MIPRE.Tailored.okD {T : Type u_1} {ι : Type u_2} [Fintype T] [DecidableEq T] (E : T → T → Prop) [DecidableRel E] {B : ℕ} (okT : CL.Detyping.Question T ι → Verifier.Answers B → Prop) (a₀ : Verifier.Answers B) (x : CL.Detyping.Coord T ι → ZMod 2) (a : Verifier.Answers B) :

      The encodable answers at a detyped question: the typed ones at a decodable view, and a₀ elsewhere.

      Equations
      Instances For
        noncomputable def MIPRE.Tailored.encV {T : Type u_1} {ι : Type u_2} [Fintype T] [DecidableEq T] [Fintype ι] [DecidableEq ι] (E : T → T → Prop) [DecidableRel E] {B : ℕ} (H : Game (CL.Detyping.Coord T ι → ZMod 2) (CL.Detyping.Coord T ι → ZMod 2) (Verifier.Answers B) (Verifier.Answers B)) (D : TypedData T ι) (encT : CL.Detyping.Question T ι → Verifier.Answers B → Cost.BitStr) (x : CL.Detyping.Coord T ι → ZMod 2) (a : Verifier.Answers B) :
        Fin ((presented E H D).len x) → Bool

        The encoding at a detyped question, as a vector of the question's length.

        Equations
        Instances For
          theorem MIPRE.Tailored.length_encD_of_okD {T : Type u_1} {ι : Type u_2} [Fintype T] [DecidableEq T] [Fintype ι] [DecidableEq ι] (E : T → T → Prop) [DecidableRel E] {B : ℕ} (H : Game (CL.Detyping.Coord T ι → ZMod 2) (CL.Detyping.Coord T ι → ZMod 2) (Verifier.Answers B) (Verifier.Answers B)) (D : TypedData T ι) {encT : CL.Detyping.Question T ι → Verifier.Answers B → Cost.BitStr} {okT : CL.Detyping.Question T ι → Verifier.Answers B → Prop} (a₀ : Verifier.Answers B) (hlen : ∀ (u : CL.Detyping.Question T ι) (a : Verifier.Answers B), okT u a → List.length (encT u a) = D.lenR u.1 + D.lenL u.1) {x : CL.Detyping.Coord T ι → ZMod 2} {a : Verifier.Answers B} (ha : okD E okT a₀ x a) :
          List.length (TypedData.encD E encT x a) = (presented E H D).len x
          theorem MIPRE.Tailored.hasPerfectZPC_presented {T : Type u_1} {ι : Type u_2} [Fintype T] [DecidableEq T] [Fintype ι] [DecidableEq ι] (E : T → T → Prop) [DecidableRel E] {B : ℕ} (H : Game (CL.Detyping.Coord T ι → ZMod 2) (CL.Detyping.Coord T ι → ZMod 2) (Verifier.Answers B) (Verifier.Answers B)) (Dt : CL.Detyping.Question T ι → CL.Detyping.Question T ι → Verifier.Answers B → Verifier.Answers B → Bool) (hH : ∀ (x y : CL.Detyping.Coord T ι → ZMod 2) (a b : Verifier.Answers B), H.D x y a b = CL.Detyping.accepts E Dt x y a b) (D : TypedData T ι) {encT : CL.Detyping.Question T ι → Verifier.Answers B → Cost.BitStr} {okT : CL.Detyping.Question T ι → Verifier.Answers B → Prop} (a₀ : Verifier.Answers B) (hlen : ∀ (u : CL.Detyping.Question T ι) (a : Verifier.Answers B), okT u a → List.length (encT u a) = D.lenR u.1 + D.lenL u.1) (h : ∀ (u v : CL.Detyping.Question T ι) (a b : Verifier.Answers B), E u.1 v.1 → okT u a → okT v b → Dt u v a b = true → D.Accepts u v (encT u a) (encT v b)) (S : SyncStrategy H.doubled) (hS : S.IsPCC) (hval : S.value = 1) (hsupp : ∀ (p : Bool × (CL.Detyping.Coord T ι → ZMod 2)) (a : Verifier.Answers B), ¬okD E okT a₀ p.2 a → S.P.M p a = 0) (hperm : ∀ (p : Bool × (CL.Detyping.Coord T ι → ZMod 2)) (i : Fin ((presented E H D).len p.2)), IsSignedPerm (encObs (S.P.M p) (encV E H D encT p.2) i)) (hdiag : ∀ (p : Bool × (CL.Detyping.Coord T ι → ZMod 2)) (i : Fin ((presented E H D).len p.2)), ↑i < (presented E H D).lenR p.2 → (encObs (S.P.M p) (encV E H D encT p.2) i).IsDiag) :

          Completeness of the presentation.