Documentation

Complexitylib.Algebraic.LowerBound.Cutwidth.Aggregate.Circuit.Defs

Output guesses and erasure for aggregate circuits #

Only special occurrences receive guessed bits. Erasure preserves every gate index and every ordinary incoming wire, replacing each special gate by a nullary constant. Thus a special output may feed another special gate, an ordinary gate, or the output.

@[reducible, inline]
abbrev Algebraic.Aggregate.SpecialGate {J : Type} {State : J → Type} {n g : ℕ} (p : Program (signature State) n g) :

The special gate occurrences in an actual straight-line program.

Equations
Instances For
    def Algebraic.Aggregate.specialCount {J : Type} {State : J → Type} {n g : ℕ} (p : Program (signature State) n g) :

    The number of special occurrences, not the number of possible operation symbols.

    Equations
    Instances For
      @[reducible, inline]
      abbrev Algebraic.Aggregate.Guess {J : Type} {State : J → Type} {n g : ℕ} (p : Program (signature State) n g) :

      One output bit for each special occurrence.

      Equations
      Instances For
        @[reducible, inline]
        abbrev Algebraic.Aggregate.Register {J : Type} {State : J → Type} {n g : ℕ} (p : Program (signature State) n g) (gate : SpecialGate p) :

        The aggregate register belonging to a particular special occurrence.

        Equations
        Instances For
          @[reducible, inline]
          abbrev Algebraic.Aggregate.Registers {J : Type} {State : J → Type} {n g : ℕ} (p : Program (signature State) n g) :

          Simultaneous registers for all special occurrences.

          Equations
          Instances For
            def Algebraic.Aggregate.budget {J : Type} {State : J → Type} {n g : ℕ} [(j : J) → Fintype (State j)] (p : Program (signature State) n g) :

            Output-guess bits plus the binary logarithmic budgets of the actual registers.

            Equations
            Instances For
              def Algebraic.Aggregate.guessValues {J : Type} {State : J → Type} {n g : ℕ} (p : Program (signature State) n g) (a : Guess p) (gate : Fin g) :

              Extend special-only guesses by a dummy bit on ordinary gates. The dummy is ignored.

              Equations
              Instances For
                def Algebraic.Aggregate.eraseLine {J : Type} {State : J → Type} {n g : ℕ} (line : Line (signature State) n g) (value : Bool) :

                Erase one line while retaining the wire namespace.

                Equations
                Instances For
                  def Algebraic.Aggregate.eraseWith {J : Type} {State : J → Type} {n g : ℕ} :
                  Program (signature State) n g → (Fin g → Bool) → Program ordinarySignature n g

                  The structural erasure uses a total lookup; only special entries are inspected.

                  Equations
                  Instances For
                    def Algebraic.Aggregate.erase {J : Type} {State : J → Type} {n g : ℕ} (p : Program (signature State) n g) (a : Guess p) :

                    Replace each special gate by its guessed nullary output, preserving all gate indices.

                    Equations
                    Instances For
                      def Algebraic.Aggregate.eraseCircuit {J : Type} {State : J → Type} {n m : ℕ} (c : Circuit (signature State) n m) (a : Guess c.program) :

                      The designated outputs use precisely the same wires after erasure.

                      Equations
                      Instances For
                        def Algebraic.Aggregate.Consistent {J : Type} {State : J → Type} {n g : ℕ} [(j : J) → CommMonoid (State j)] (p : Program (signature State) n g) (a : Guess p) (input : Fin n → Bool) :

                        Every special gate agrees with evaluation of its original slots on a candidate trace.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          def Algebraic.Aggregate.actualGuess {J : Type} {State : J → Type} {n g : ℕ} [(j : J) → CommMonoid (State j)] (p : Program (signature State) n g) (input : Fin n → Bool) :

                          The true special-output vector.

                          Equations
                          Instances For