Documentation

CommunicationComplexity.PublicCoin.FiniteMessage

@[reducible, inline]
abbrev CommunicationComplexity.PublicCoin.FiniteMessage.Protocol (Ω : Type u_1) (X : Type u_2) (Y : Type u_3) (α : Type u_4) :
Type (max (max (max 1 u_2 u_1) u_3 u_1) u_4)

A public-coin finite-message protocol is a deterministic finite-message protocol where Alice's input is Ω × X and Bob's is Ω × Y.

Equations
Instances For
    def CommunicationComplexity.PublicCoin.FiniteMessage.Protocol.output {Ω : Type u_1} {X : Type u_2} {Y : Type u_3} {α : Type u_4} (a : α) :
    Protocol Ω X Y α

    Output node for a public-coin finite-message protocol.

    Equations
    Instances For
      def CommunicationComplexity.PublicCoin.FiniteMessage.Protocol.alice {Ω : Type u_1} {X : Type u_2} {Y : Type u_3} {α : Type u_4} {β : Type} [Fintype β] [Nonempty β] (f : XΩβ) (P : βProtocol Ω X Y α) :
      Protocol Ω X Y α

      Alice sends a β-valued message depending on her input x and shared randomness ω.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def CommunicationComplexity.PublicCoin.FiniteMessage.Protocol.bob {Ω : Type u_1} {X : Type u_2} {Y : Type u_3} {α : Type u_4} {β : Type} [Fintype β] [Nonempty β] (f : YΩβ) (P : βProtocol Ω X Y α) :
        Protocol Ω X Y α

        Bob sends a β-valued message depending on his input y and shared randomness ω.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def CommunicationComplexity.PublicCoin.FiniteMessage.Protocol.rrun {Ω : Type u_1} {X : Type u_2} {Y : Type u_3} {α : Type u_4} (p : Protocol Ω X Y α) (x : X) (y : Y) (ω : Ω) :
          α

          Execute a public-coin finite-message protocol on inputs x, y with shared randomness ω.

          Equations
          Instances For
            @[simp]
            theorem CommunicationComplexity.PublicCoin.FiniteMessage.Protocol.rrun_eq {Ω : Type u_1} {X : Type u_2} {Y : Type u_3} {α : Type u_4} (p : Protocol Ω X Y α) (x : X) (y : Y) (ω : Ω) :
            def CommunicationComplexity.PublicCoin.FiniteMessage.Protocol.ApproxSatisfies {Ω : Type u_1} {X : Type u_2} {Y : Type u_3} {α : Type u_4} [MeasureTheory.MeasureSpace Ω] (p : Protocol Ω X Y α) (Q : XYαProp) (ε : ) :

            A public-coin finite-message 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.PublicCoin.FiniteMessage.Protocol.ApproxComputes {Ω : Type u_1} {X : Type u_2} {Y : Type u_3} {α : Type u_4} [MeasureTheory.MeasureSpace Ω] (p : Protocol Ω X Y α) (f : XYα) (ε : ) :

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

              Equations
              Instances For
                theorem CommunicationComplexity.PublicCoin.FiniteMessage.Protocol.ApproxComputes_eq_ApproxSatisfies {Ω : Type u_1} {X : Type u_2} {Y : Type u_3} {α : Type u_4} [MeasureTheory.MeasureSpace Ω] (p : Protocol Ω X Y α) (f : XYα) (ε : ) :
                p.ApproxComputes f ε = p.ApproxSatisfies (fun (x : X) (y : Y) (a : α) => a = f x y) ε
                @[reducible, inline]
                noncomputable abbrev CommunicationComplexity.PublicCoin.FiniteMessage.Protocol.toProtocol {Ω : Type u_1} {X : Type u_2} {Y : Type u_3} {α : Type u_4} (p : Protocol Ω X Y α) :

                Convert a public-coin finite-message protocol to a binary public-coin protocol. Delegates to Deterministic.FiniteMessage.Protocol.toProtocol.

                Equations
                Instances For
                  @[simp]
                  theorem CommunicationComplexity.PublicCoin.FiniteMessage.Protocol.toProtocol_rrun {Ω : Type u_1} {X : Type u_2} {Y : Type u_3} {α : Type u_4} (p : Protocol Ω X Y α) (x : X) (y : Y) (ω : Ω) :
                  p.toProtocol.rrun x y ω = p.rrun x y ω
                  @[reducible, inline]
                  abbrev CommunicationComplexity.PublicCoin.FiniteMessage.Protocol.ofProtocol {Ω : Type u_1} {X : Type u_2} {Y : Type u_3} {α : Type u_4} (p : PublicCoin.Protocol Ω X Y α) :
                  Protocol Ω X Y α

                  Embed a binary public-coin protocol into a finite-message protocol. Delegates to Deterministic.FiniteMessage.Protocol.ofProtocol.

                  Equations
                  Instances For
                    @[simp]
                    theorem CommunicationComplexity.PublicCoin.FiniteMessage.Protocol.ofProtocol_rrun {Ω : Type u_1} {X : Type u_2} {Y : Type u_3} {α : Type u_4} (p : PublicCoin.Protocol Ω X Y α) (x : X) (y : Y) (ω : Ω) :
                    (ofProtocol p).rrun x y ω = p.rrun x y ω
                    theorem CommunicationComplexity.PublicCoin.FiniteMessage.Protocol.ofProtocol_equiv {Ω : Type u_1} {X : Type u_2} {Y : Type u_3} {α : Type u_4} (p : PublicCoin.Protocol Ω X Y α) :
                    ∃ (P : Protocol Ω X Y α), (∀ (x : X) (y : Y) (ω : Ω), P.rrun x y ω = p.rrun x y ω) Deterministic.FiniteMessage.Protocol.complexity P = Deterministic.Protocol.complexity p