Documentation

CommunicationComplexity.Helper

@[reducible, inline]

The type of n-bit Boolean inputs.

Equations
Instances For

    The all-zero n-bit Boolean input.

    Equations
    Instances For
      theorem CommunicationComplexity.exists_true_of_ne_zeroInput {n : } {x : BoolInput n} (hx : x zeroInput n) :
      ∃ (i : Fin n), x i = true

      A Boolean input is nonzero exactly when some coordinate is true.

      The ±1 sign attached to a Boolean value. We use 1 for false and -1 for true.

      Equations
      Instances For
        @[simp]

        boolSign turns xor into multiplication in {±1}.

        theorem CommunicationComplexity.boolSign_sum {α : Type u_1} (s : Finset α) (f : αBool) :
        boolSign (s.sum f) = is, boolSign (f i)

        The sign of a Boolean sum factors as the product of the signs of its summands.

        Two boolSign factors collapse to 1 - 2 * indicator(a ≠ b).

        Flipping one coordinate of a Boolean input.

        Equations
        Instances For
          @[simp]
          theorem CommunicationComplexity.flipAt_apply_same {n : } (i : Fin n) (x : BoolInput n) :
          flipAt i x i = !x i
          @[simp]
          theorem CommunicationComplexity.flipAt_apply_ne {n : } {i j : Fin n} (hij : j i) (x : BoolInput n) :
          flipAt i x j = x j
          @[simp]
          theorem CommunicationComplexity.flipAt_flipAt {n : } (i : Fin n) (x : BoolInput n) :
          flipAt i (flipAt i x) = x