Documentation

CommunicationComplexity.Deterministic.OneWay

structure CommunicationComplexity.Deterministic.OneWay.Protocol (X : Type u_4) (Y : Type u_5) (α : Type u_6) :
Type (max (max (max 1 u_4) u_5) u_6)

A one-way deterministic communication protocol.

Message is the protocol's message codebook (language): the finite set of admissible full one-shot messages Alice may send. It is not the base symbol alphabet/signature (for example, bits), but whole message values (codewords).

  • Message : Type

    The message codebook/language: all admissible complete one-shot messages.

  • instFintypeMessage : Fintype self.Message

    Finiteness of the message codebook, needed to assign a bit cost.

  • instNonemptyMessage : Nonempty self.Message

    Nonemptiness of the codebook (mirrors existing finite-message conventions).

  • send : Xself.Message

    Alice's encoder: picks a codeword/message from the protocol codebook.

  • decode : self.MessageYα

    Bob's local decoder from received message and Bob's input.

Instances For
    def CommunicationComplexity.Deterministic.OneWay.Protocol.run {X : Type u_1} {Y : Type u_2} {α : Type u_3} (p : Protocol X Y α) (x : X) (y : Y) :
    α

    Execute a one-way protocol on input (x, y).

    Equations
    Instances For
      def CommunicationComplexity.Deterministic.OneWay.Protocol.cost {X : Type u_1} {Y : Type u_2} {α : Type u_3} (p : Protocol X Y α) :

      Protocol-level communication cost in bits: ⌈log₂ |Message|⌉, where Message is the protocol codebook/language.

      Equations
      Instances For
        def CommunicationComplexity.Deterministic.OneWay.Protocol.Computes {X : Type u_1} {Y : Type u_2} {α : Type u_3} (p : Protocol X Y α) (f : XYα) :

        A one-way protocol computes f when its execution agrees with f everywhere.

        Equations
        Instances For
          noncomputable def CommunicationComplexity.Deterministic.OneWay.Protocol.toFiniteMessage {X : Type u_1} {Y : Type u_2} {α : Type u_3} [Fintype α] [Nonempty α] (p : Protocol X Y α) :

          Embed a one-way protocol into the finite-message interactive model by having Alice send the one-way message, then Bob send the decoded output.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem CommunicationComplexity.Deterministic.OneWay.Protocol.toFiniteMessage_run {X : Type u_1} {Y : Type u_2} {α : Type u_3} [Fintype α] [Nonempty α] (p : Protocol X Y α) (x : X) (y : Y) :
            p.toFiniteMessage.run x y = p.run x y
            noncomputable def CommunicationComplexity.Deterministic.OneWay.communicationComplexity {X : Type u_1} {Y : Type u_2} {α : Type u_3} (f : XYα) :

            One-way deterministic communication complexity of f: the infimum, over one-way protocols computing f, of protocol bit cost.

            Equations
            Instances For
              theorem CommunicationComplexity.Deterministic.OneWay.communicationComplexity_le_iff {X : Type u_1} {Y : Type u_2} {α : Type u_3} (f : XYα) (n : ) :
              communicationComplexity f n ∃ (p : Protocol X Y α), p.Computes f p.cost n

              Characterization of one-way communication complexity bounds by existence of a one-way protocol with bounded cost.

              theorem CommunicationComplexity.Deterministic.OneWay.le_communicationComplexity_iff {X : Type u_1} {Y : Type u_2} {α : Type u_3} (f : XYα) (k : ) :
              k communicationComplexity f ∀ (p : Protocol X Y α), p.Computes fk p.cost

              A one-way upper bound yields a deterministic upper bound, with additive ⌈log₂ |α|⌉ to let Bob send the decoded output in the interactive model.