Documentation

Complexitylib.Circuits.DepthThree.LowerBound.Internal.TapeEncoding

Unrestricted depth-three lower bound: tape encoding #

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

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

@[reducible, inline]

The 32 registers used by the explicit multitape evaluator.

Equations
Instances For
    @[reducible, inline]

    Register 0, reserved for input.

    Equations
    Instances For
      @[reducible, inline]

      Register 1, reserved for length.

      Equations
      Instances For
        @[reducible, inline]

        Register 2, reserved for data length.

        Equations
        Instances For
          @[reducible, inline]

          Register 3, reserved for ring degree.

          Equations
          Instances For
            @[reducible, inline]

            Register 4, reserved for coeff count.

            Equations
            Instances For
              @[reducible, inline]

              Register 5, reserved for candidate.

              Equations
              Instances For
                @[reducible, inline]

                Register 6, reserved for power target.

                Equations
                Instances For
                  @[reducible, inline]

                  Register 7, reserved for power scratch.

                  Equations
                  Instances For
                    @[reducible, inline]

                    Register 8, reserved for required length.

                    Equations
                    Instances For
                      @[reducible, inline]

                      Register 9, reserved for loop0.

                      Equations
                      Instances For
                        @[reducible, inline]

                        Register 10, reserved for loop1.

                        Equations
                        Instances For
                          @[reducible, inline]

                          Register 11, reserved for loop2.

                          Equations
                          Instances For
                            @[reducible, inline]

                            Register 12, reserved for loop3.

                            Equations
                            Instances For
                              @[reducible, inline]

                              Register 13, reserved for loop4.

                              Equations
                              Instances For
                                @[reducible, inline]

                                Register 14, reserved for loop5.

                                Equations
                                Instances For
                                  @[reducible, inline]

                                  Register 15, reserved for data bits.

                                  Equations
                                  Instances For
                                    @[reducible, inline]

                                    Register 16, reserved for key bits.

                                    Equations
                                    Instances For
                                      @[reducible, inline]

                                      Register 17, reserved for poly bits.

                                      Equations
                                      Instances For
                                        @[reducible, inline]

                                        Register 18, reserved for coeff bits.

                                        Equations
                                        Instances For
                                          @[reducible, inline]

                                          Register 19, reserved for hash bits.

                                          Equations
                                          Instances For
                                            @[reducible, inline]

                                            Register 20, reserved for accum bits.

                                            Equations
                                            Instances For
                                              @[reducible, inline]

                                              Register 21, reserved for product bits.

                                              Equations
                                              Instances For
                                                @[reducible, inline]

                                                Register 22, reserved for index a.

                                                Equations
                                                Instances For
                                                  @[reducible, inline]

                                                  Register 23, reserved for index b.

                                                  Equations
                                                  Instances For
                                                    @[reducible, inline]

                                                    Register 24, reserved for index c.

                                                    Equations
                                                    Instances For
                                                      @[reducible, inline]

                                                      Register 25, reserved for scratch a.

                                                      Equations
                                                      Instances For
                                                        @[reducible, inline]

                                                        Register 26, reserved for scratch b.

                                                        Equations
                                                        Instances For
                                                          @[reducible, inline]

                                                          Register 27, reserved for scratch c.

                                                          Equations
                                                          Instances For
                                                            @[reducible, inline]

                                                            Register 28, reserved for saved count.

                                                            Equations
                                                            Instances For
                                                              @[reducible, inline]

                                                              Register 29, reserved for temp0.

                                                              Equations
                                                              Instances For
                                                                @[reducible, inline]

                                                                Register 30, reserved for temp1.

                                                                Equations
                                                                Instances For
                                                                  @[reducible, inline]

                                                                  Register 31, reserved for temp2.

                                                                  Equations
                                                                  Instances For

                                                                    Tape atoms for blank cells, boundaries, register delimiters, and bits.

                                                                    Instances For
                                                                      Equations
                                                                      Instances For
                                                                        @[instance_reducible]
                                                                        Equations
                                                                        • One or more equations did not get rendered due to their size.
                                                                        @[reducible, inline]

                                                                        The four marker positions carried by each tape symbol.

                                                                        Equations
                                                                        Instances For
                                                                          @[reducible, inline]

                                                                          A bit-list value for each register.

                                                                          Equations
                                                                          Instances For

                                                                            Encode one register's bit-list block with its delimiter.

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

                                                                              Concatenate the encoded blocks of the tape store.

                                                                              Equations
                                                                              • One or more equations did not get rendered due to their size.
                                                                              Instances For
                                                                                theorem Complexity.DepthThreeLowerBound.encodeInput_symbols {bits : List Bool} {s : TapeSymbol} (hs : s ∈ encodeInput bits) :
                                                                                (∃ (b : Bool), s.1 = TapeAtom.bit b) ∧ ∀ (m : TapeMark), s.2 m = false