Documentation

Complexitylib.Metacomplexity.ListDecoding.Defs

Finite Boolean list decoding -- definitions #

A Boolean list code maps fixed-length messages to Boolean functions on an arbitrary finite coordinate type. Its decoder returns a fixed-size indexed candidate list. Relative distance and agreement are exact rational uniform probabilities, matching the truth-table view used in metacomplexity.

structure Complexity.BooleanListCode (messageLength listSize : ℕ) (coordinate : Type u) :

A fixed-length binary code together with a decoder producing listSize candidate messages.

  • encode : (Fin messageLength → Bool) → coordinate → Bool

    Encode a message as a Boolean function on the codeword coordinates.

  • decode : (coordinate → Bool) → Fin listSize → Fin messageLength → Bool

    Decode any received word into a fixed-size indexed candidate list.

Instances For
    def Complexity.BooleanListCode.agreementProbability {coordinate : Type u} [Fintype coordinate] (left right : coordinate → Bool) :

    Exact fraction of coordinates on which two Boolean words agree.

    Equations
    Instances For
      def Complexity.BooleanListCode.relativeDistance {coordinate : Type u} [Fintype coordinate] (left right : coordinate → Bool) :

      Exact relative Hamming distance between two Boolean words.

      Equations
      Instances For
        def Complexity.BooleanListCode.IsListDecodableAt {messageLength listSize : ℕ} {coordinate : Type u} [Fintype coordinate] (code : BooleanListCode messageLength listSize coordinate) (radius : ℚ) :

        List-decoding guarantee at a relative Hamming radius.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Complexity.BooleanListCode.candidates {messageLength listSize : ℕ} {coordinate : Type u} (code : BooleanListCode messageLength listSize coordinate) (received : coordinate → Bool) :
          Finset (Fin messageLength → Bool)

          Distinct messages appearing among the decoder's indexed candidates.

          Equations
          Instances For

            Number of bits sufficient to select one of listSize indexed decoder outputs.

            Equations
            Instances For
              def Complexity.BooleanListCode.encodeDecoderIndex {listSize : ℕ} (index : Fin listSize) :

              Fixed-width binary encoding of an indexed decoder output.

              Equations
              Instances For

                Decode a fixed-width decoder index, rejecting malformed lengths and values outside Fin listSize.

                Equations
                Instances For
                  def Complexity.BooleanListCode.decodeAtIndexBits? {messageLength listSize : ℕ} {coordinate : Type u} (code : BooleanListCode messageLength listSize coordinate) (received : coordinate → Bool) (bits : List Bool) :
                  Option (Fin messageLength → Bool)

                  Decode a source message using a fixed-width encoded list index.

                  Equations
                  Instances For