65 Communication Complexity — Public Coin Basic
65.1 Overview
This module introduces public-coin communication protocols, where both Alice and Bob have access to a shared source of randomness \(\Omega \). It defines the core type CommunicationComplexity.PublicCoin.Protocol, the execution function CommunicationComplexity.PublicCoin.Protocol.rrun, and two notions of approximate correctness: \(\varepsilon \)-satisfying a predicate and \(\varepsilon \)-computing a function.
65.2 Declarations
A public-coin protocol over shared randomness \(\Omega \), with Alice’s private input in \(X\) and Bob’s in \(Y\) producing an output in \(\alpha \), is a deterministic protocol whose combined input types are \(\Omega \times X\) (for Alice) and \(\Omega \times Y\) (for Bob). In other words, both players observe the same random string \(\omega \in \Omega \) alongside their private inputs.
The leaf node of a public-coin protocol that returns the constant value \(a \in \alpha \), constructed by lifting the corresponding deterministic output node.
Constructs a public-coin protocol node at which Alice sends a single bit: given a function \(f : X \to \Omega \to \mathrm{Bool}\), Alice transmits \(f\, x\, \omega \) and the protocol continues according to \(P : \mathrm{Bool} \to \mathrm{Protocol}\).
Constructs a public-coin protocol node at which Bob sends a single bit: given a function \(f : Y \to \Omega \to \mathrm{Bool}\), Bob transmits \(f\, y\, \omega \) and the protocol continues according to \(P : \mathrm{Bool} \to \mathrm{Protocol}\).
Given a public-coin protocol \(p\), private inputs \(x \in X\), \(y \in Y\), and a shared random string \(\omega \in \Omega \), \(\texttt{rrun}\, p\, x\, y\, \omega \) executes the underlying deterministic protocol on the paired inputs \((\omega , x)\) and \((\omega , y)\) and returns the resulting output.
Let \(p\) be a public-coin protocol with shared randomness in \(\Omega \), Alice’s private input in \(X\), and Bob’s in \(Y\), producing an output in \(\alpha \). Then for every \(x \in X\), \(y \in Y\), and \(\omega \in \Omega \), the randomized execution of \(p\) on \(x\), \(y\) with random string \(\omega \) equals the execution of the underlying deterministic protocol on the paired inputs \((\omega , x)\) and \((\omega , y)\).
A public-coin protocol \(p\) \(\varepsilon \)-satisfies a predicate \(Q : X \to Y \to \alpha \to \mathrm{Prop}\) if for every input pair \((x, y)\),
A public-coin protocol \(p\) \(\varepsilon \)-computes a function \(f : X \to Y \to \alpha \) if for every input pair \((x, y)\),
Here the volume is taken with respect to the measure on \(\Omega \) given by the MeasureSpace instance.
Let \(p\) be a public-coin protocol over a shared-randomness space \(\Omega \) carrying a measure, with Alice’s inputs in \(X\), Bob’s in \(Y\), and outputs in \(\alpha \), let \(f : X \to Y \to \alpha \) be a function, and let \(\varepsilon \in \mathbb {R}\). Then the assertion that \(p\) \(\varepsilon \)-computes \(f\) coincides with the assertion that \(p\) \(\varepsilon \)-satisfies the predicate \(Q(x, y, a)\) given by \(a = f(x, y)\); that is, the two propositions are equal.