Documentation

Complexitylib.Algebraic.LowerBound.Cutwidth.Aggregate.Compressed.Observation

Observing a compressed candidate computation #

One joint-state guess determines all special outputs. A product of local observations checks that guess and the designated output, including after outside inputs are fixed.

@[reducible, inline]

The joint aggregate and the multiplicative output flag.

Equations
Instances For
    def Algebraic.Aggregate.Compressed.Factorization.observe {J : Type} {State : J → Type} [(j : J) → CommMonoid (State j)] {n g : ℕ} {p : Program (signature State) n g} {M : Type} [CommMonoid M] (c : Factorization p M) (out wire : Wire n g) (value : Bool) :

    Each signal contributes once to the compressed state and designated output.

    Equations
    Instances For

      The final aggregate equals its guess and the designated output is true.

      Equations
      Instances For
        def Algebraic.Aggregate.Compressed.Factorization.AcceptsGuess {J : Type} {State : J → Type} [(j : J) → CommMonoid (State j)] {n g : ℕ} {p : Program (signature State) n g} {M : Type} [CommMonoid M] (c : Factorization p M) (state : M) (out : Wire n g) (input : Fin n → Bool) :

        A candidate accepts when its accumulated state agrees with its guess.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem Algebraic.Aggregate.Compressed.Factorization.acceptObservation_iff {J : Type} {State : J → Type} [(j : J) → CommMonoid (State j)] {n g : ℕ} {p : Program (signature State) n g} {M : Type} [CommMonoid M] (c : Factorization p M) (state : M) (out : Wire n g) (input : Fin n → Bool) :
          AcceptObservation state (∏ wire : Wire n g, c.observe out wire ((erase p (c.guess state)).trace ordinaryInterpretation input wire)) ↔ c.AcceptsGuess state out input

          The observation predicate is the candidate's aggregate and output check.

          theorem Algebraic.Aggregate.Compressed.Factorization.acceptsGuess_iff {J : Type} {State : J → Type} [(j : J) → CommMonoid (State j)] {n g : ℕ} {p : Program (signature State) n g} {M : Type} [CommMonoid M] (c : Factorization p M) (state : M) (out : Wire n g) (input : Fin n → Bool) :
          c.AcceptsGuess state out input ↔ state = c.actual input ∧ p.trace interpretation input out = true

          An accepted state is the actual state and the original circuit accepts.

          theorem Algebraic.Aggregate.Compressed.Factorization.accepts_iff_exists_guess {J : Type} {State : J → Type} [(j : J) → CommMonoid (State j)] {n g : ℕ} {p : Program (signature State) n g} {M : Type} [CommMonoid M] (c : Factorization p M) (out : Wire n g) (input : Fin n → Bool) :
          p.trace interpretation input out = true ↔ ∃ (state : M), c.AcceptsGuess state out input

          Existentially guessing the compressed state preserves the original function.

          def Algebraic.Aggregate.Compressed.Factorization.outsideObservation {J : Type} {State : J → Type} [(j : J) → CommMonoid (State j)] {n g : ℕ} {p : Program (signature State) n g} {M : Type} [CommMonoid M] (c : Factorization p M) (state : M) (S : Finset (Wire n g)) (out : Wire n g) (fixed : Fin n → Bool) :

          Fixed outside signals contribute to the final observation predicate.

          Equations
          Instances For
            def Algebraic.Aggregate.Compressed.Factorization.ComponentAccept {J : Type} {State : J → Type} [(j : J) → CommMonoid (State j)] {n g : ℕ} {p : Program (signature State) n g} {M : Type} [CommMonoid M] (c : Factorization p M) (state : M) (S : Finset (Wire n g)) (out : Wire n g) (fixed : Fin n → Bool) (observed : Observation M) :

            Component acceptance includes the already fixed outside observations.

            Equations
            Instances For
              theorem Algebraic.Aggregate.Compressed.Factorization.componentAccept_iff {J : Type} {State : J → Type} [(j : J) → CommMonoid (State j)] {n g : ℕ} {p : Program (signature State) n g} {M : Type} [CommMonoid M] (c : Factorization p M) (state : M) (K : Cutwidth.MultiOutput.Internal.ClosedSet (erase p (c.guess state))) (out : Wire n g) (fixed input : Fin n → Bool) (agree : ∀ j ∉ Cutwidth.SingleCut.inputsIn K.carrier, input j = fixed j) :
              c.ComponentAccept state K.carrier out fixed (∏ wire : Cutwidth.MultiOutput.Internal.WireGraph.Signal K, c.observe out (↑wire) ((erase p (c.guess state)).trace ordinaryInterpretation input ↑wire)) ↔ c.AcceptsGuess state out input

              Closed components retain exact compressed-state semantics after restriction.

              The guess and observation use only one output bit beyond the compressed budget.