Documentation

MIPRE.Foundations.LowDegree.BinaryLinear

Executable binary vector and matrix arithmetic #

Canonical binary scalar coordinates.

Equations
Instances For
    theorem MIPRE.LowDegree.BinaryLinear.zip_vectorBits {n : ℕ} (v w : Fin n → ZMod 2) :
    List.zip (vectorBits v) (vectorBits w) = List.ofFn fun (i : Fin n) => (bit (v i), bit (w i))
    theorem MIPRE.LowDegree.BinaryLinear.dotBits_vectorBits {n : ℕ} (v w : Fin n → ZMod 2) :
    dotBits (vectorBits v) (vectorBits w) = bit (∑ i : Fin n, v i * w i)

    The raw parity circuit computes the exact binary dot product.

    Executable matrix application agrees with the usual binary matrix-vector product.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      The parity dot product is one uniform ambient program.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Binary matrix application is polynomial-time on arbitrary raw row lists.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          Coordinatewise XOR computes binary vector addition.

          The number of columns is explicit; short raw rows are padded with zero.

          Equations
          Instances For

            Raw transposition agrees with typed matrix transposition.

            theorem MIPRE.LowDegree.BinaryLinear.mulBits_matrixBits {m n r : ℕ} (A : Matrix (Fin m) (Fin r) (ZMod 2)) (B : Matrix (Fin r) (Fin n) (ZMod 2)) :

            The executable matrix product is the ordinary product over the binary field.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              Transposition is polynomial-time in the rows and the unary column count.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Matrix multiplication is globally polynomial-time in its raw inputs.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For