Documentation

Complexitylib.Circuits.DepthThree.LowerBound.Defs

Unrestricted depth-three lower bound: model #

Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a. Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Computability/DepthThree/Model.lean

Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical proofs are retained.

@[reducible, inline]

Boolean assignments to a set of input variables.

Equations
Instances For
    @[reducible, inline]

    An input variable paired with the value making its literal true.

    Equations
    Instances For

      Evaluate a signed input literal.

      Equations
      Instances For
        @[reducible, inline]

        A signed input literal or a Boolean constant.

        Equations
        Instances For
          @[reducible, inline]

          An OR gate represented by a list of signed literals and constants.

          Equations
          Instances For

            Evaluate a literal or constant gate input.

            Equations
            Instances For
              noncomputable def Complexity.DepthThreeLowerBound.RawClause.eval {V : Type uV} (C : RawClause V) (x : Cube V) :

              Evaluate the disjunction of a raw clause.

              Equations
              Instances For

                An OR-AND-OR circuit with arbitrary fan-in, constants, and shared lower gates.

                Instances For

                  Count every bottom and middle gate and the single top OR gate.

                  Equations
                  Instances For
                    noncomputable def Complexity.DepthThreeLowerBound.Circuit3.middleEval {V : Type uV} (C : Circuit3 V) (j : Fin C.middleCount) (x : Cube V) :

                    Evaluate one middle AND gate on its selected bottom gates.

                    Equations
                    Instances For
                      noncomputable def Complexity.DepthThreeLowerBound.Circuit3.eval {V : Type uV} (C : Circuit3 V) (x : Cube V) :

                      Evaluate the top OR of the selected middle AND gates.

                      Equations
                      Instances For

                        The circuit agrees with the specified Boolean function on every input.

                        Equations
                        Instances For
                          def Complexity.DepthThreeLowerBound.runSteps {S : Type uS} (step : S → Option S) (n : ℕ) (c : Option S) :

                          Iterate an optional transition, propagating none after halting.

                          Equations
                          Instances For

                            A left, stationary, or right move on a bilateral tape.

                            Instances For
                              structure Complexity.DepthThreeLowerBound.MultiTapeCfg (K : Type uK) (Γ : Type uGamma) (Q : Type uQ) [Inhabited Γ] :
                              Type (max (max uGamma uK) uQ)

                              A control state and a tape for each tape index.

                              • q : Q

                                The finite control state.

                              • tapes : K → Turing.Tape Γ

                                The bilateral tape contents and head positions.

                              Instances For
                                @[reducible, inline]
                                abbrev Complexity.DepthThreeLowerBound.MultiTapeCode (K : Type uK) (Γ : Type uGamma) (Q : Type uQ) :
                                Type (max (max (max uGamma uK) uQ) (max uGamma uK) uQ)

                                Read all heads, then halt or choose a state, writes, and head moves.

                                Equations
                                Instances For
                                  def Complexity.DepthThreeLowerBound.multiTapeUpdate {K : Type uK} {Γ : Type uGamma} {Q : Type uQ} [Inhabited Γ] (c : MultiTapeCfg K Γ Q) (q : Q) (writes : K → Γ) (moves : K → HeadMove) :

                                  Write the scanned cells and then move every tape head.

                                  Equations
                                  Instances For
                                    def Complexity.DepthThreeLowerBound.multiTapeStep {K : Type uK} {Γ : Type uGamma} {Q : Type uQ} [Inhabited Γ] (code : MultiTapeCode K Γ Q) (c : MultiTapeCfg K Γ Q) :

                                    Execute one transition of a multitape program.

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For

                                      A multitape machine with finite control, alphabet, and tape set. The input occupies one designated read-write tape; the default symbol is blank.

                                      Instances For
                                        @[reducible, inline]

                                        Configurations of the bundled finite multitape machine.

                                        Equations
                                        Instances For
                                          @[reducible, inline]

                                          The bundled machine's partial transition function.

                                          Equations
                                          Instances For

                                            Initialize the input tape at its first bit and all other tapes blank.

                                            Equations
                                            Instances For

                                              Within the stated time, reach a halting state with the specified Boolean verdict.

                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For