Documentation

LeanPool.GapCVP.Part04F

GapCVP proof, part 04, continuation 06 #

def GapCVP.CNFFlatStructuralRecordWorkerTM.flatLiteralRecordPrefixTrace (sign : Option Bool) (count : ℕ) (tail counter reversed markers suffix output : List Bool) :
StateTransition.EvalsToInTime actualFlatLiteralRecordWorker.step (flatLiteralRecordConfiguration 0 sign (List.replicate count true ++ false :: tail) counter reversed markers suffix output) (some (flatLiteralRecordConfiguration 1 sign tail (List.replicate count true ++ counter) reversed markers suffix output)) (count + 1)

Scans a length prefix through its delimiter and enters the sign-reading phase.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    def GapCVP.CNFFlatStructuralRecordWorkerTM.flatLiteralRecordMissingPrefixTrace (sign : Option Bool) (count : ℕ) (counter reversed markers suffix output : List Bool) :
    StateTransition.EvalsToInTime actualFlatLiteralRecordWorker.step (flatLiteralRecordConfiguration 0 sign (List.replicate count true) counter reversed markers suffix output) (some (flatLiteralRecordConfiguration 7 sign [] (List.replicate count true ++ counter) reversed markers suffix output)) (count + 1)

    Sends an unterminated length prefix to invalid-input handling.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def GapCVP.CNFFlatStructuralRecordWorkerTM.flatLiteralRecordPayloadTrace (sign : Bool) (payload input reversed markers suffix output : List Bool) :
      StateTransition.EvalsToInTime actualFlatLiteralRecordWorker.step (flatLiteralRecordConfiguration 2 (some sign) (payload ++ input) (List.replicate payload.length true) reversed markers suffix output) (some (flatLiteralRecordConfiguration 3 (some sign) input [] (payload.reverse ++ reversed) (List.replicate payload.length true ++ markers) suffix (sign :: output))) (payload.length + 1)

      Copies a complete literal payload into the reversed and marker stacks.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def GapCVP.CNFFlatStructuralRecordWorkerTM.flatLiteralRecordRestoreTrace (sign : Option Bool) (input reversed markers suffix output : List Bool) :
        StateTransition.EvalsToInTime actualFlatLiteralRecordWorker.step (flatLiteralRecordConfiguration 3 sign input [] reversed markers suffix output) (some (flatLiteralRecordConfiguration 4 sign input [] [] markers suffix (false :: (reversed.reverse ++ output)))) (reversed.length + 1)

        Restores the payload bits to the output after reading a literal.

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

          Moves payload length markers to the output as a unary prefix.

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

            Moves the unread suffix to the scratch stack before finishing output.

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

              Restores the suffix from scratch and halts with the completed output.

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

                Clears every occupied stack of an invalid literal record and halts empty.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  def GapCVP.CNFFlatStructuralRecordWorkerTM.flatLiteralRecordTruncatedPayloadTrace (sign : Bool) (payload : List Bool) (count : ℕ) (hshort : payload.length < count) (reversed markers : List Bool) :

                  Detects a payload shorter than its length prefix and enters invalid-input handling.

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

                    Converts a valid length-prefixed signed literal to its flat record encoding.

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

                      Runs the literal-record worker on every input within a linear step bound.

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

                        Polynomial-time machine computing one flat literal-record step.

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

                          Polynomial-time machine repeatedly applying the flat literal-record step.

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

                            GapCVP reduction support.

                            Equations
                            Instances For

                              GapCVP reduction support.

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

                                GapCVP reduction support.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  noncomputable def GapCVP.CNFFlatWholeWordFoldTM.totalVerifierSortedFiveFamilyFlatFoldInput (bound : Polynomial ℕ) {verifier : List Bool × List Bool → Bool} (machine : VerifierTM verifier) (input : List Bool) :

                                  GapCVP reduction support.

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

                                    GapCVP reduction support.

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

                                      GapCVP reduction support.

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

                                        Polynomial-time machine producing a signed, length-prefixed polynomial value.

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

                                          GapCVP reduction support.

                                          Equations
                                          Instances For

                                            GapCVP reduction support.

                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For
                                              def GapCVP.CNFUnaryPairIndexTM.unaryPairPeek (stack : Fin 9) (present absent : Turing.TM2.Stmt (fun (x : Fin 9) => Bool) (Fin 12) (Option Bool)) :
                                              Turing.TM2.Stmt (fun (x : Fin 9) => Bool) (Fin 12) (Option Bool)

                                              Inspects a unary-pair stack and branches on whether it contains a bit.

                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For
                                                def GapCVP.CNFUnaryPairIndexTM.unaryPairPop (stack : Fin 9) (continuation : Turing.TM2.Stmt (fun (x : Fin 9) => Bool) (Fin 12) (Option Bool)) :
                                                Turing.TM2.Stmt (fun (x : Fin 9) => Bool) (Fin 12) (Option Bool)

                                                Removes the top bit of a unary-pair stack and continues.

                                                Equations
                                                Instances For
                                                  def GapCVP.CNFUnaryPairIndexTM.unaryPairPush (stack : Fin 9) (continuation : Turing.TM2.Stmt (fun (x : Fin 9) => Bool) (Fin 12) (Option Bool)) :
                                                  Turing.TM2.Stmt (fun (x : Fin 9) => Bool) (Fin 12) (Option Bool)

                                                  Pushes a unary marker onto the selected stack.

                                                  Equations
                                                  Instances For

                                                    Clears the inspected bit and enters the selected unary-pair phase.

                                                    Equations
                                                    Instances For

                                                      GapCVP reduction support.

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

                                                        GapCVP reduction support.

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

                                                          GapCVP reduction support.

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

                                                            GapCVP reduction support.

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

                                                              GapCVP reduction support.

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

                                                                GapCVP reduction support.

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

                                                                  GapCVP reduction support.

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

                                                                    GapCVP reduction support.

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

                                                                      GapCVP reduction support.

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

                                                                        GapCVP reduction support.

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

                                                                          GapCVP reduction support.

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

                                                                            GapCVP reduction support.

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

                                                                              GapCVP reduction support.

                                                                              Equations
                                                                              • One or more equations did not get rendered due to their size.
                                                                              Instances For
                                                                                def GapCVP.CNFUnaryPairIndexTM.unaryPairConfiguration (phase : Fin 12) (input first second matchedFirst matchedSecond base outer output scratch : List Bool) :

                                                                                GapCVP reduction support.

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

                                                                                  Executes the unaryPairStepTac machine-step simplifier.

                                                                                  Equations
                                                                                  Instances For
                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_first_true (input first second matchedFirst matchedSecond base outer output scratch : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 0 (true :: input) first second matchedFirst matchedSecond base outer output scratch) = some (unaryPairConfiguration 0 input (true :: first) second matchedFirst matchedSecond base outer output scratch)
                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_first_false (input first second matchedFirst matchedSecond base outer output scratch : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 0 (false :: input) first second matchedFirst matchedSecond base outer output scratch) = some (unaryPairConfiguration 1 input first second matchedFirst matchedSecond base outer output scratch)

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_first_missing (first second matchedFirst matchedSecond base outer output scratch : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 0 [] first second matchedFirst matchedSecond base outer output scratch) = some (unaryPairConfiguration 11 [] first second matchedFirst matchedSecond base outer output scratch)
                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_second_true (input first second matchedFirst matchedSecond base outer output scratch : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 1 (true :: input) first second matchedFirst matchedSecond base outer output scratch) = some (unaryPairConfiguration 1 input first (true :: second) matchedFirst matchedSecond base outer output scratch)
                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_second_false (input first second matchedFirst matchedSecond base outer output scratch : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 1 (false :: input) first second matchedFirst matchedSecond base outer output scratch) = some (unaryPairConfiguration 2 input first second matchedFirst matchedSecond base outer output scratch)

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_second_missing (first second matchedFirst matchedSecond base outer output scratch : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 1 [] first second matchedFirst matchedSecond base outer output scratch) = some (unaryPairConfiguration 11 [] first second matchedFirst matchedSecond base outer output scratch)
                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_compare_match (first second matchedFirst matchedSecond base outer output scratch : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 2 [] (true :: first) (true :: second) matchedFirst matchedSecond base outer output scratch) = some (unaryPairConfiguration 2 [] first second (true :: matchedFirst) (true :: matchedSecond) base outer output scratch)

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_compare_greater (first matchedFirst matchedSecond base outer output scratch : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 2 [] first [] matchedFirst matchedSecond base outer output scratch) = some (unaryPairConfiguration 3 [] first [] matchedFirst matchedSecond base outer output scratch)

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_compare_less (second matchedFirst matchedSecond base outer output scratch : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 2 [] [] (true :: second) matchedFirst matchedSecond base outer output scratch) = some (unaryPairConfiguration 5 [] [] (true :: second) matchedFirst matchedSecond base outer output scratch)

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_compare_trailing (bit : Bool) (input first second matchedFirst matchedSecond base outer output scratch : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 2 (bit :: input) first second matchedFirst matchedSecond base outer output scratch) = some (unaryPairConfiguration 11 (bit :: input) first second matchedFirst matchedSecond base outer output scratch)
                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_greater_base_first (first matchedFirst matchedSecond base outer output : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 3 [] (true :: first) [] matchedFirst matchedSecond base outer output []) = some (unaryPairConfiguration 3 [] first [] matchedFirst matchedSecond (true :: base) (true :: outer) (true :: output) [])

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_greater_base_matched (matchedFirst matchedSecond base outer output : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 3 [] [] [] (true :: matchedFirst) matchedSecond base outer output []) = some (unaryPairConfiguration 3 [] [] [] matchedFirst matchedSecond (true :: base) (true :: outer) (true :: output) [])

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_greater_base_finish (matchedSecond base outer output : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 3 [] [] [] [] matchedSecond base outer output []) = some (unaryPairConfiguration 4 [] [] [] [] matchedSecond base outer output [])

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_greater_offset_step (matchedSecond base outer output : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 4 [] [] [] [] (true :: matchedSecond) base outer output []) = some (unaryPairConfiguration 4 [] [] [] [] matchedSecond base outer (true :: output) [])

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_less_base_second (second matchedFirst matchedSecond base outer output : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 5 [] [] (true :: second) matchedFirst matchedSecond base outer output []) = some (unaryPairConfiguration 5 [] [] second matchedFirst matchedSecond (true :: base) (true :: outer) output [])

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_less_base_matched (matchedFirst matchedSecond base outer output : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 5 [] [] [] matchedFirst (true :: matchedSecond) base outer output []) = some (unaryPairConfiguration 5 [] [] [] matchedFirst matchedSecond (true :: base) (true :: outer) output [])

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_less_base_finish (matchedFirst base outer output : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 5 [] [] [] matchedFirst [] base outer output []) = some (unaryPairConfiguration 6 [] [] [] matchedFirst [] base outer output [])

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_less_offset_step (matchedFirst base outer output : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 6 [] [] [] (true :: matchedFirst) [] base outer output []) = some (unaryPairConfiguration 6 [] [] [] matchedFirst [] base outer (true :: output) [])

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_square_copy_step (base outer output scratch : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 8 [] [] [] [] [] (true :: base) outer output scratch) = some (unaryPairConfiguration 8 [] [] [] [] [] base outer (true :: output) (true :: scratch))

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_square_restore_step (base outer output scratch : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 9 [] [] [] [] [] base outer output (true :: scratch)) = some (unaryPairConfiguration 9 [] [] [] [] [] (true :: base) outer output scratch)

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_failure_input_step (bit : Bool) (input first second matchedFirst matchedSecond base outer scratch : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 11 (bit :: input) first second matchedFirst matchedSecond base outer [] scratch) = some (unaryPairConfiguration 11 input first second matchedFirst matchedSecond base outer [] scratch)
                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_failure_first_step (bit : Bool) (first second matchedFirst matchedSecond base outer scratch : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 11 [] (bit :: first) second matchedFirst matchedSecond base outer [] scratch) = some (unaryPairConfiguration 11 [] first second matchedFirst matchedSecond base outer [] scratch)
                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_failure_second_step (bit : Bool) (second matchedFirst matchedSecond base outer scratch : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 11 [] [] (bit :: second) matchedFirst matchedSecond base outer [] scratch) = some (unaryPairConfiguration 11 [] [] second matchedFirst matchedSecond base outer [] scratch)
                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_failure_matchedFirst_step (bit : Bool) (matchedFirst matchedSecond base outer scratch : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 11 [] [] [] (bit :: matchedFirst) matchedSecond base outer [] scratch) = some (unaryPairConfiguration 11 [] [] [] matchedFirst matchedSecond base outer [] scratch)
                                                                                    theorem GapCVP.CNFUnaryPairIndexTM.unaryPair_failure_matchedSecond_step (bit : Bool) (matchedSecond base outer scratch : List Bool) :
                                                                                    actualUnaryPairIndexMachine.step (unaryPairConfiguration 11 [] [] [] [] (bit :: matchedSecond) base outer [] scratch) = some (unaryPairConfiguration 11 [] [] [] [] matchedSecond base outer [] scratch)