Documentation

CommunicationComplexity.PrivateCoin.Basic

@[reducible, inline]
abbrev CommunicationComplexity.PrivateCoin.Protocol (Ω_X : Type u_1) (Ω_Y : Type u_2) (X : Type u_3) (Y : Type u_4) (α : Type u_5) :
Type (max (max (max u_3 u_1) u_4 u_2) u_5)

A private-coin protocol is a deterministic protocol where Alice's input is augmented with private randomness Ω_X and Bob's with Ω_Y. Alice's message function sees (ω_x, x) and Bob's sees (ω_y, y).

Equations
Instances For
    def CommunicationComplexity.PrivateCoin.Protocol.output {Ω_X : Type u_1} {Ω_Y : Type u_2} {X : Type u_3} {Y : Type u_4} {α : Type u_5} (a : α) :
    Protocol Ω_X Ω_Y X Y α

    Output node for a private-coin protocol.

    Equations
    Instances For
      def CommunicationComplexity.PrivateCoin.Protocol.alice {Ω_X : Type u_1} {Ω_Y : Type u_2} {X : Type u_3} {Y : Type u_4} {α : Type u_5} (f : XΩ_XBool) (P : BoolProtocol Ω_X Ω_Y X Y α) :
      Protocol Ω_X Ω_Y X Y α

      Alice sends a bit depending on her input x and private randomness ω_x.

      Equations
      Instances For
        def CommunicationComplexity.PrivateCoin.Protocol.bob {Ω_X : Type u_1} {Ω_Y : Type u_2} {X : Type u_3} {Y : Type u_4} {α : Type u_5} (f : YΩ_YBool) (P : BoolProtocol Ω_X Ω_Y X Y α) :
        Protocol Ω_X Ω_Y X Y α

        Bob sends a bit depending on his input y and private randomness ω_y.

        Equations
        Instances For
          def CommunicationComplexity.PrivateCoin.Protocol.rrun {Ω_X : Type u_1} {Ω_Y : Type u_2} {X : Type u_3} {Y : Type u_4} {α : Type u_5} (p : Protocol Ω_X Ω_Y X Y α) (x : X) (y : Y) (ω_x : Ω_X) (ω_y : Ω_Y) :
          α

          Execute a private-coin protocol on inputs x, y with private randomness ω_x for Alice and ω_y for Bob.

          Equations
          Instances For
            @[simp]
            theorem CommunicationComplexity.PrivateCoin.Protocol.rrun_eq {Ω_X : Type u_1} {Ω_Y : Type u_2} {X : Type u_3} {Y : Type u_4} {α : Type u_5} (p : Protocol Ω_X Ω_Y X Y α) (x : X) (y : Y) (ω_x : Ω_X) (ω_y : Ω_Y) :
            p.rrun x y ω_x ω_y = Deterministic.Protocol.run p (ω_x, x) (ω_y, y)
            def CommunicationComplexity.PrivateCoin.Protocol.ApproxSatisfies {Ω_X : Type u_1} {Ω_Y : Type u_2} {X : Type u_3} {Y : Type u_4} {α : Type u_5} [MeasureTheory.MeasureSpace Ω_X] [MeasureTheory.MeasureSpace Ω_Y] (p : Protocol Ω_X Ω_Y X Y α) (Q : XYαProp) (ε : ) :

            A private-coin protocol ε-satisfies a predicate Q if for every input (x, y), the probability that Q x y (p.rrun ...) fails is at most ε.

            Equations
            Instances For
              noncomputable def CommunicationComplexity.PrivateCoin.Protocol.ApproxComputes {Ω_X : Type u_1} {Ω_Y : Type u_2} {X : Type u_3} {Y : Type u_4} {α : Type u_5} [MeasureTheory.MeasureSpace Ω_X] [MeasureTheory.MeasureSpace Ω_Y] (p : Protocol Ω_X Ω_Y X Y α) (f : XYα) (ε : ) :

              A private-coin protocol ε-computes a function f if for every input (x, y), the probability (under the coin-flip measure) of producing an incorrect answer is at most ε.

              Equations
              Instances For
                theorem CommunicationComplexity.PrivateCoin.Protocol.ApproxComputes_eq_ApproxSatisfies {Ω_X : Type u_1} {Ω_Y : Type u_2} {X : Type u_3} {Y : Type u_4} {α : Type u_5} [MeasureTheory.MeasureSpace Ω_X] [MeasureTheory.MeasureSpace Ω_Y] (p : Protocol Ω_X Ω_Y X Y α) (f : XYα) (ε : ) :
                p.ApproxComputes f ε = p.ApproxSatisfies (fun (x : X) (y : Y) (a : α) => a = f x y) ε