Documentation

Complexitylib.Circuits.BarringtonConverse.Defs

The converse direction of Barrington's theorem -- definitions #

This file defines balanced Boolean formulas for evaluating permutation branching programs. A depth parameter d describes a block of at most 2 ^ d instructions. Two half-blocks are composed by existentially selecting their intermediate state.

It also fixes the semantic family classes used by the nonuniform Barrington equivalence. They follow the existing Barrington convention: formulas and programs are evaluated on total assignments ℕ → Bool, while the family index records the input-length parameter controlling depth and program length.

A formula saying that this instruction maps state x to state y.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    def Complexity.BP.reachesFormula {w : } :
    BP wFin wFin wBoolFormula

    A balanced formula saying that a program block maps state x to state y.

    At depth zero the formula reads the first instruction, if present. At depth d + 1 it splits after 2 ^ d instructions and disjoins over every possible intermediate state. Its semantic theorem assumes p.length ≤ 2 ^ d.

    Equations
    Instances For

      The canonical balanced formula deciding whether p moves the query point x. Its recursion depth is the least d with p.length ≤ 2 ^ d.

      Equations
      Instances For

        A family of width-w permutation branching programs.

        Equations
        Instances For

          A branching-program family has polynomial length.

          Equations
          Instances For
            def Complexity.BPFamily.DecidesOnTotalAssignments {w : } (R : BPFamily w) (x : Fin w) (f : (Bool)Bool) :

            A branching-program family decides a total-assignment family by whether its designated query point is moved by the evaluated permutation.

            Equations
            Instances For
              @[reducible, inline]
              abbrev Complexity.BPFamily.Decides {w : } (R : BPFamily w) (x : Fin w) (f : (Bool)Bool) :

              Compatibility alias for the original total-assignment decision predicate. New statements should use DecidesOnTotalAssignments explicitly.

              Equations
              Instances For

                Convert a branching-program family into its balanced decision-formula family.

                Equations
                Instances For

                  A formula family computes f when it agrees at every family index and on every total assignment.

                  Equations
                  Instances For
                    @[reducible, inline]

                    Compatibility alias for the original total-assignment computation predicate. New statements should use ComputesOnTotalAssignments explicitly.

                    Equations
                    Instances For

                      Total-assignment families computed by logarithmic-depth formula families.

                      The family index controls the depth bound, but assignments have the full domain ℕ → Bool; no assertion is made here that the length-n member only reads variables below n.

                      Equations
                      Instances For

                        Total-assignment families decided by polynomial-length width-5 permutation branching programs.

                        The family index controls the length bound, but programs may query any natural variable index.

                        Equations
                        Instances For