Documentation

CommunicationComplexity.Deterministic.Transcript

The syntactic transcript of a deterministic protocol.

For a fixed protocol, this is exactly the message sequence: terminal protocols have one transcript, and each communication node contributes one Boolean plus the remaining child transcript.

Equations
Instances For
    def CommunicationComplexity.Deterministic.Protocol.Transcript.output {X : Type u_1} {Y : Type u_2} {α : Type u_3} {p : Protocol X Y α} :
    p.Transcriptα

    The protocol output attached to a syntactic transcript.

    Equations
    Instances For
      def CommunicationComplexity.Deterministic.Protocol.Transcript.inputSet {X : Type u_1} {Y : Type u_2} {α : Type u_3} {p : Protocol X Y α} :
      p.TranscriptSet (X × Y)

      The rectangle of inputs that follow a syntactic transcript.

      Equations
      Instances For

        The rectangle represented by a syntactic transcript is a rectangle.

        def CommunicationComplexity.Deterministic.Protocol.transcript {X : Type u_1} {Y : Type u_2} {α : Type u_3} (p : Protocol X Y α) :
        X × Yp.Transcript

        Execute a protocol and return the syntactic transcript reached by the input.

        Equations
        Instances For
          theorem CommunicationComplexity.Deterministic.Protocol.mem_transcript {X : Type u_1} {Y : Type u_2} {α : Type u_3} (p : Protocol X Y α) (xy : X × Y) :

          The input follows its own transcript.

          theorem CommunicationComplexity.Deterministic.Protocol.transcript_eq_of_mem {X : Type u_1} {Y : Type u_2} {α : Type u_3} {p : Protocol X Y α} (t : p.Transcript) {xy : X × Y} :
          xy t.inputSetp.transcript xy = t

          If an input follows a syntactic transcript, then this is its computed transcript.

          theorem CommunicationComplexity.Deterministic.Protocol.run_eq_transcript_output {X : Type u_1} {Y : Type u_2} {α : Type u_3} (p : Protocol X Y α) (xy : X × Y) :
          p.run xy.1 xy.2 = (p.transcript xy).output

          The output attached to the reached transcript is the protocol output.

          theorem CommunicationComplexity.Deterministic.Protocol.run_eq_of_transcript_eq {X : Type u_1} {Y : Type u_2} {α : Type u_3} (p : Protocol X Y α) {xy xy' : X × Y} (h : p.transcript xy = p.transcript xy') :
          p.run xy.1 xy.2 = p.run xy'.1 xy'.2

          Inputs with the same transcript have the same protocol output.

          A protocol has at most 2 ^ complexity syntactic transcripts.

          Swapping Alice and Bob preserves the message sequence injectively.

          def CommunicationComplexity.Deterministic.Protocol.transcriptComap {X : Type u_1} {Y : Type u_2} {α : Type u_3} {X' : Type u_4} {Y' : Type u_5} (p : Protocol X Y α) (fX : X'X) (fY : Y'Y) :
          p.Transcript(p.comap fX fY).Transcript

          Pull a syntactic transcript back along maps on Alice's and Bob's inputs.

          Equations
          Instances For
            theorem CommunicationComplexity.Deterministic.Protocol.transcriptComap_injective {X : Type u_1} {Y : Type u_2} {α : Type u_3} {X' : Type u_4} {Y' : Type u_5} (p : Protocol X Y α) (fX : X'X) (fY : Y'Y) :

            Pulling a transcript back along input maps preserves the message sequence injectively.

            theorem CommunicationComplexity.Deterministic.Protocol.transcriptComap_transcript {X : Type u_1} {Y : Type u_2} {α : Type u_3} {X' : Type u_4} {Y' : Type u_5} (p : Protocol X Y α) (fX : X'X) (fY : Y'Y) (x' : X') (y' : Y') :
            p.transcriptComap fX fY (p.transcript (fX x', fY y')) = (p.comap fX fY).transcript (x', y')