TCSLib

68 Communication Complexity — Public Coin Basic

68.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.

68.2 Declarations

Definition 68.1 Public-coin protocol

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.

Definition 68.2 Output node

The leaf node of a public-coin protocol that returns the constant value \(a \in \alpha \), constructed by lifting the corresponding deterministic output node.

Definition 68.3 Alice’s move

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}\).

Definition 68.4 Bob’s move

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}\).

Definition 68.5 Randomized execution

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.

Theorem 68.6 rrun unfolding

For any public-coin protocol \(p\), inputs \(x\), \(y\), and randomness \(\omega \), \(p.\texttt{rrun}\, x\, y\, \omega = p.\texttt{run}\, (\omega , x)\, (\omega , y)\). This is a definitional unfolding used as a simp lemma.

Definition 68.7 \(\varepsilon \)-satisfies a predicate

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)\),

\[ \mathrm{vol}\bigl\{ \omega \in \Omega \mid \neg \, Q\, x\, y\, (p.\texttt{rrun}\, x\, y\, \omega )\bigr\} \; \le \; \varepsilon . \]
Definition 68.8 \(\varepsilon \)-computes a function

A public-coin protocol \(p\) \(\varepsilon \)-computes a function \(f : X \to Y \to \alpha \) if for every input pair \((x, y)\),

\[ \mathrm{vol}\bigl\{ \omega \in \Omega \mid p.\texttt{rrun}\, x\, y\, \omega \ne f\, x\, y\bigr\} \; \le \; \varepsilon . \]

Here the volume is taken with respect to the measure on \(\Omega \) given by the MeasureSpace instance.

Theorem 68.9 ApproxComputes equals ApproxSatisfies at equality

For any public-coin protocol \(p\), function \(f : X \to Y \to \alpha \), and \(\varepsilon \in \mathbb {R}\),

\[ p.\texttt{ApproxComputes}\, f\, \varepsilon \; =\; p.\texttt{ApproxSatisfies}\, (\lambda \, x\, y\, a.\; a = f\, x\, y)\, \varepsilon . \]

That is, \(\varepsilon \)-computing \(f\) is exactly \(\varepsilon \)-satisfying the pointwise equality predicate \(a = f\, x\, y\).