Protocols with messages from an alphabet #
In a round protocol (RoundProtocol X Y M Z d) Alice holds x : X, Bob holds y : Y, and the
players send at most d messages from an alphabet M: at each step the speaker, who may depend on
the messages so far, sends one message computed from their input, and the protocol ends with an
output in Z determined by the transcript (RoundProtocol.run). Bit protocols are the case of
one-bit messages: a bit protocol of depth at most d is a round protocol with d messages from
Bool (RoundProtocol.ofProtocol). Counting messages from a larger alphabet rather than bits is
the measure of protocols with few rounds Kushilevitz and Nisan, Chapter 4.
As for bit protocols, a round protocol solves a relation R on A × B when its output does
(RoundProtocol.Solves, through Communication.Solves). Exchanging the speakers exchanges the
inputs (RoundProtocol.run_swapPlayers), and relabelling the inputs is precomposition
(RoundProtocol.run_comap).
For the Karchmer–Wigderson game on the coordinates ι both players hold inputs ι → Bool and the
protocol names a coordinate (KWRoundProtocol). Such a protocol solves the game of a Boolean
function f when, for every x with f x = false held by Alice and y with f y = true held by
Bob, the inputs differ at the named coordinate (RoundProtocol.SolvesKW). This is the model of the
top-down lower bounds of Korten Korten, Section 1.1, in which a circuit of AND/OR
depth d with w wires gives a protocol with d messages from an alphabet of size w.
Exchanging the speakers solves the game of the negated function
(RoundProtocol.SolvesKW.swapPlayers).
Following Korten, SolvesKW f gives Alice the input where f is false. The Karchmer–Wigderson
theorem for formulas (Circuits.Boolean.formulaDepth_eq_ecomplexity) uses the bit protocols of
Protocol and gives Alice the input where f is true. Such a bit protocol of depth at most d
solves, as a round protocol, the game of the negated function in Korten's convention
(RoundProtocol.solvesKW_not_ofProtocol), so of f after exchanging the players
(RoundProtocol.solvesKW_swapPlayers_ofProtocol).
Main definitions #
Cslib.Communication.RoundProtocol: protocols with at mostdmessages fromM.Cslib.Communication.RoundProtocol.run,Cslib.Communication.RoundProtocol.Solves.Cslib.Communication.RoundProtocol.swapPlayers,Cslib.Communication.RoundProtocol.comap: exchanging the players and relabelling the inputs.Cslib.Communication.RoundProtocol.ofProtocol: a bit protocol as a round protocol.Cslib.Communication.KWRoundProtocol,Cslib.Communication.RoundProtocol.SolvesKW: round protocols for Karchmer–Wigderson games.
Main results #
Cslib.Communication.RoundProtocol.run_swapPlayers,Cslib.Communication.RoundProtocol.run_comap: exchanging the players and relabelling the inputs.Cslib.Communication.RoundProtocol.run_ofProtocol,Cslib.Communication.RoundProtocol.solvesKW_not_ofProtocol: bit protocols as round protocols.
References #
A protocol between Alice, holding x : X, and Bob, holding y : Y, with at most d messages
from the alphabet M and outputs in Z. The speaker may depend on the preceding messages, and the
output depends only on the transcript.
- output {X : Type u_1} {Y : Type u_2} {M : Type u_3} {Z : Type u_4} {d : ℕ} (z : Z) : RoundProtocol X Y M Z d
Output
z, possibly before exhausting the message budget. - alice {X : Type u_1} {Y : Type u_2} {M : Type u_3} {Z : Type u_4} {d : ℕ} (send : X → M) (next : M → RoundProtocol X Y M Z d) : RoundProtocol X Y M Z (d + 1)
Alice sends one message computed from her input.
- bob {X : Type u_1} {Y : Type u_2} {M : Type u_3} {Z : Type u_4} {d : ℕ} (send : Y → M) (next : M → RoundProtocol X Y M Z d) : RoundProtocol X Y M Z (d + 1)
Bob sends one message computed from his input.
Instances For
The output of a protocol when Alice holds x and Bob holds y.
Instances For
A protocol solves the relation R on A × B when its output does: its output on every pair
of inputs from A × B is related to them. Communication.Solves.mono and
Communication.Solves.of_imp apply to it.
Instances For
One message, from players holding inputs of the same type, sent by Bob if b and by Alice
otherwise.
Instances For
Exchange the speakers throughout the protocol.
Instances For
Exchanging the speakers exchanges the inputs.
Exchanging the speakers solves the relation with the inputs exchanged.
Apply φ to Alice's input and ψ to Bob's input before running the protocol.
Instances For
Relabelling the inputs is precomposition: P.comap φ ψ outputs on x and y what P outputs
on φ x and ψ y.
Relabelling the inputs solves the relation on the preimages.
Round protocols for Karchmer–Wigderson games on the coordinates ι: Alice and Bob hold inputs
ι → Bool, send at most d messages from M, and the protocol names a coordinate.
Instances For
The protocol solves the Karchmer–Wigderson game of f: Alice holds an input with f x = false,
Bob one with f y = true, and they differ at the named coordinate.
Instances For
Exchanging the speakers solves the game of the negated function.
Negating both players' inputs solves the game of the function of the negated input.
A bit protocol for the Karchmer–Wigderson game of f with Alice holding the input where f is
true solves, as a round protocol, the game of the negation of f in Korten's convention.
A bit protocol for the Karchmer–Wigderson game of f with Alice holding the input where f is
true gives, with the players exchanged, a round protocol solving SolvesKW f with one bit per
message.