Protocols partition the inputs into rectangles #
A combinatorial rectangle is a product A ×ˢ B of a set A of Alice's inputs and a set B of
Bob's inputs. The inputs on which a deterministic protocol reaches a given leaf form a rectangle:
a bit sent by Alice splits only Alice's side, and a bit sent by Bob only Bob's side. Numbering the
leaves from left to right, the protocol reaches leaf i on x and y exactly when x lies in
Alice's side leafAlice i and y in Bob's side leafBob i (Protocol.leaf_eq_iff), and its
output there is the label leafOutput i of the leaf (Protocol.run_eq_leafOutput). So a protocol
sending d bits partitions X × Y into at most 2 ^ d rectangles on each of which its output is
constant (Protocol.exists_rectangle_partition); some of them may be empty
Kushilevitz and Nisan, Chapter 1. When the protocol solves a relation on
A × B, the label of each leaf is a valid answer on the part of its rectangle inside A × B
(Protocol.Solves.solves_leafOutput).
Sums over all pairs of inputs split into sums over the leaf rectangles
(Protocol.sum_eq_sum_leaves); so if each leaf rectangle labelled z has weight at most K, the
inputs on which the protocol answers z have weight at most K times the number of such leaves
(Protocol.sum_filter_run_le_mul). A protocol computes f : X → Y → Z when its output is f,
which is solving the relation f x y = z on all inputs (Protocol.solves_univ_iff). Counting
leaves by their labels turns bounds on rectangles into lower bounds on protocols: if f is
constantly z only on rectangles of weight at most K, the inputs where f is z have weight at
most K times the number of leaves labelled z, for every protocol computing f
(Protocol.sum_filter_le_mul). Counting every input once, |f⁻¹(z)| ≤ K · #{leaves labelled z}
when f is constantly z only on rectangles with at most K entries
(Protocol.card_filter_le_mul).
Main definitions #
Cslib.Communication.Protocol.leaf: the leaf a protocol reaches.Cslib.Communication.Protocol.leafOutput: the labels of the leaves.Cslib.Communication.Protocol.leafAlice,Cslib.Communication.Protocol.leafBob: the sides of the rectangles of the leaves.
Main results #
Cslib.Communication.Protocol.leaf_eq_iff: the inputs reaching a leaf form a rectangle.Cslib.Communication.Protocol.run_eq_leafOutput: the output is constant on each rectangle.Cslib.Communication.Protocol.exists_rectangle_partition: a protocol sendingdbits partitions the inputs into at most2 ^ dmonochromatic rectangles.Cslib.Communication.Protocol.Solves.solves_leafOutput: leaf rectangles inside the inputs of a solved relation are monochromatic.Cslib.Communication.Protocol.sum_eq_sum_leaves: sums over the leaf rectangles.Cslib.Communication.Protocol.sum_filter_run_le_mul: weights of the leaves with a given label.Cslib.Communication.Protocol.sum_filter_le_mul: the weighted area bound.Cslib.Communication.Protocol.card_filter_le_mul: the area bound.
References #
The inputs reaching a leaf form a rectangle: the protocol reaches leaf i on x and y
exactly when x is on Alice's side and y on Bob's side of its rectangle.
The output of a protocol is the label of the leaf it reaches.
A protocol sending d bits partitions X × Y into at most 2 ^ d monochromatic
rectangles: there are at most 2 ^ d rectangles A i ×ˢ B i, possibly empty, such that every
pair of inputs lies in exactly one of them and the output of the protocol is constant on each.
Leaf rectangles are monochromatic: if a protocol solves R on A × B, the label of each
leaf is a valid answer on the part of the leaf's rectangle inside A × B.
Sums over leaf rectangles #
Sums over leaf rectangles. A sum over all pairs of inputs is the sum, over the leaves of a protocol, of the sums over their rectangles.
Weights of the leaves with a given label. If every leaf rectangle labelled z has weight
at most K under w, the inputs on which the protocol answers z have weight at most K times
the number of leaves labelled z. The weights take values in an ordered semiring such as ℕ or
ℝ, and may be negative.
The weighted area bound. If f is constantly z only on rectangles of weight at most K
under w, then for every protocol computing f the inputs where f is z have weight at most
K times the number of leaves labelled z. The weights take values in an ordered semiring such
as ℕ or ℝ, and may be negative.
The area bound. If f is constantly z only on rectangles with at most K entries, every
protocol computing f has at least |f⁻¹(z)| / K leaves labelled z.