Documentation

Complexitylib.Metacomplexity.StatisticalTest.Defs

Finite statistical tests for binary generators -- definitions #

This layer fixes exact finite conventions for the first step of the Nisan--Wigderson reconstruction used in metacomplexity. A generator maps a uniform fixed-length Boolean seed to a fixed-length Boolean output. A test's acceptance probability is measured both under uniform output bits and under the generator, and its distinguishing advantage is the absolute difference.

The complexity predicates remain relative to an arbitrary deterministic machine and primitive clock. Universality and efficient computability of a particular generator are separate hypotheses.

@[reducible, inline]
abbrev Complexity.BitGenerator (seedLength outputLength : ) :

A deterministic binary generator from seedLength bits to outputLength bits. No expansion or computability condition is built into the type.

Equations
Instances For
    def Complexity.BitGenerator.acceptedSeeds {seedLength outputLength : } (generator : BitGenerator seedLength outputLength) (test : Finset (Fin outputLengthBool)) :
    Finset (Fin seedLengthBool)

    The seeds whose generated outputs are accepted by a finite test.

    Equations
    Instances For
      def Complexity.BitGenerator.generatedAcceptanceProbability {seedLength outputLength : } (generator : BitGenerator seedLength outputLength) (test : Finset (Fin outputLengthBool)) :

      Acceptance probability of a test under a uniform generator seed.

      Equations
      Instances For
        def Complexity.BitGenerator.uniformAcceptanceProbability {outputLength : } (test : Finset (Fin outputLengthBool)) :

        Acceptance probability of a test under uniform output bits.

        Equations
        Instances For
          def Complexity.BitGenerator.distinguishingAdvantage {seedLength outputLength : } (generator : BitGenerator seedLength outputLength) (test : Finset (Fin outputLengthBool)) :

          Absolute distinguishing advantage of a test between uniform output bits and the output of a generator on a uniform seed.

          Equations
          Instances For
            def Complexity.BitGenerator.IsDenseTest {outputLength : } (test : Finset (Fin outputLengthBool)) (density : ) :

            A test is density-dense when it accepts at least that much uniform output mass.

            Equations
            Instances For
              def Complexity.BitGenerator.HasLowTimeBoundedComplexity {seedLength outputLength tapes : } (generator : BitGenerator seedLength outputLength) (machine : TM tapes) (time threshold : ) :

              Every generated output has time-bounded complexity strictly below the specified threshold.

              Equations
              Instances For
                def Complexity.BitGenerator.IsTimeBoundedRandomTest {outputLength tapes : } (test : Finset (Fin outputLengthBool)) (machine : TM tapes) (time threshold : ) :

                Every output accepted by the test is random at the specified threshold and clock. Equivalently, the test is a subset of the corresponding finite set of time-bounded random strings.

                Equations
                Instances For