Detyping tailored games #
The repository's verifiers are typed and then detyped (MIPRE.CL.Detyping): a question is a
graph view followed by a content register, and the detyped predicate calls the typed one on the
views of an edge, and accepts otherwise (Detyping.accepts). This file does the same for
tailored games. Typed tailored data (TypedData) fixes the numbers of readable and linear
variables of each type and the constraints at each pair of typed questions; the detyped tailored
game (TypedData.detype) has, at a question, the lengths of the type its graph view decodes to
(none when it decodes to nothing) and, at a pair of questions, the typed constraints on the views
of an edge and no constraint otherwise.
The two transport lemmas reduce the obligations of MIPRE.Tailored.valStar_le_of_dec and
MIPRE.Tailored.hasPerfectZPC_of_sync, for a detyped game presented by a detyped tailored game,
to the typed questions of the edges: detype_accepts_of (a pair the tailored game accepts on an
edge is a pair the typed constraints accept) and detype_accepts (conversely).
The type a detyped question's graph view decodes to, for either player.
Equations
Instances For
The edge a pair of detyped questions sits on, Alice's view first: the typed pair.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The detyped predicate of MIPRE.CL.Detyping calls the typed one on edgeOf, and accepts
off it.
Typed tailored data: the numbers of readable and linear variables of each type and the controlled linear constraints at each pair of typed questions.
- lenR : T → ℕ
- lenL : T → ℕ
- cons : CL.Detyping.Question T ι → CL.Detyping.Question T ι → Cost.BitStr → Cost.BitStr → List Cost.BitStr
Instances For
The typed acceptance: both answers have their type's lengths, and every constraint holds.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The detyped tailored game, with the question distribution μ of a detyped game.
Equations
- One or more equations did not get rendered due to their size.
Instances For
On an edge, the detyped tailored game accepts exactly what the typed data accepts.
Off the edges, the detyped tailored game accepts every pair of the right lengths.
The two reductions to typed questions #
Decode a detyped answer through its question's type, a₀ off the decodable views.
Equations
- MIPRE.Tailored.TypedData.decD E decT a₀ x a = match MIPRE.Tailored.typeOf E x with | some t => decT (t, MIPRE.CL.pull Function.Embedding.inr x) a | none => a₀
Instances For
Encode a detyped answer through its question's type, [] off the decodable views.
Equations
- MIPRE.Tailored.TypedData.encD E encT x a = match MIPRE.Tailored.typeOf E x with | some t => encT (t, MIPRE.CL.pull Function.Embedding.inr x) a | none => []
Instances For
Soundness, reduced to the edges: if on every edge a pair the typed data accepts decodes to a pair the typed predicate accepts, then every pair the detyped tailored game accepts decodes to a pair the detyped predicate accepts.
Completeness, reduced to the edges: if the typed encodings have the typed lengths, and
on every edge an accepted pair of encodable answers encodes to a pair the typed data accepts,
then every accepted pair of encodable detyped answers encodes to a pair the detyped tailored
game accepts. Off the decodable views the only encodable answer encodes to [].