Documentation

LeanPool.GapCVP.Part03C

GapCVP proof, part 03, continuation 03 #

def GapCVP.SourceFormulaStructuralDecoder.suffixPrefixTrace (count : ℕ) (tail counter reversed output : List Bool) :
StateTransition.EvalsToInTime suffixDecoderMachine.step (suffixConfiguration 0 (List.replicate count true ++ false :: tail) counter reversed output) (some (suffixConfiguration 1 tail (List.replicate count true ++ counter) reversed output)) (count + 1)

Consume a unary length prefix and its delimiter, recording the count.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    def GapCVP.SourceFormulaStructuralDecoder.suffixCopyTrace (payload suffix reversed output : List Bool) :
    StateTransition.EvalsToInTime suffixDecoderMachine.step (suffixConfiguration 1 (payload ++ suffix) (List.replicate payload.length true) reversed output) (some (suffixConfiguration 1 suffix [] (payload.reverse ++ reversed) output)) payload.length

    Copy the counted payload into reversed scratch storage.

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

      Discard the copied payload before collecting the remaining suffix.

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

        Collect the suffix in reversed scratch storage.

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

          Restore the collected suffix to the output stack and halt.

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

            Decode a valid length-prefixed payload and return its trailing suffix.

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

              Clear all work stacks after a malformed input and halt with the current output.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def GapCVP.SourceFormulaStructuralDecoder.suffixMissingPrefixTrace (count : ℕ) (counter reversed output : List Bool) :
                StateTransition.EvalsToInTime suffixDecoderMachine.step (suffixConfiguration 0 (List.replicate count true) counter reversed output) (some (suffixConfiguration 5 [] (List.replicate count true ++ counter) reversed output)) (count + 1)

                Enter the failure phase when a unary length prefix has no delimiter.

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

                  Reject an input consisting only of a unary length prefix.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    def GapCVP.SourceFormulaStructuralDecoder.suffixPartialCopyTrace (payload remaining reversed output : List Bool) :
                    StateTransition.EvalsToInTime suffixDecoderMachine.step (suffixConfiguration 1 payload (List.replicate payload.length true ++ remaining) reversed output) (some (suffixConfiguration 1 [] remaining (payload.reverse ++ reversed) output)) payload.length

                    Copy all available payload bits while leaving surplus count markers.

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

                      Reject a length prefix larger than the available payload.

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

                        Decode the suffix for every input, including malformed prefixes.

                        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

                                  State label for reading the prefix of one of three clause literals.

                                  Equations
                                  Instances For

                                    State label for reading the payload of one of three clause literals.

                                    Equations
                                    Instances For

                                      Internal support shared across GapCVP continuation modules.

                                      Equations
                                      Instances For

                                        Parse a literal's unary prefix or enter its payload or failure phase.

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

                                          Match a literal's payload against its prefix count and advance the clause.

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

                                            Three-stack machine that checks the three encoded literals of a clause.

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

                                              Decoder configuration with input, count markers, and accumulated output count.

                                              Equations
                                              Instances For
                                                theorem GapCVP.SourceVariableFormulaDecoder.variablePrefixTrue (position : Fin 3) (input counter : List Bool) (count : ℕ) :
                                                theorem GapCVP.SourceVariableFormulaDecoder.variablePrefixDelimiter (position : Fin 3) (input counter : List Bool) (count : ℕ) :
                                                theorem GapCVP.SourceVariableFormulaDecoder.variablePayloadStep (position : Fin 3) (bit counterBit : Bool) (input counter : List Bool) (count : ℕ) :
                                                variableClauseMachine.step (variableConfiguration (variablePayloadLabel position) (bit :: input) (counterBit :: counter) count) = some (variableConfiguration (variablePayloadLabel position) input counter count)
                                                theorem GapCVP.SourceVariableFormulaDecoder.variableSignStep (position : Fin 3) (hposition : position ≠ 2) (sign : Bool) (input : List Bool) (count : ℕ) :
                                                theorem GapCVP.SourceVariableFormulaDecoder.variablePrefixUnfinished (position : Fin 3) (bit : Bool) (counter : List Bool) (count : ℕ) :
                                                variableClauseMachine.step (variableConfiguration (variablePrefixLabel position) [] (bit :: counter) count) = some (variableConfiguration 6 [] (bit :: counter) count)
                                                theorem GapCVP.SourceVariableFormulaDecoder.variableFailureDropInput (bit : Bool) (input counter : List Bool) (count : ℕ) :
                                                variableClauseMachine.step (variableConfiguration 6 (bit :: input) counter count) = some (variableConfiguration 6 input counter count)

                                                Clear the decoder work stacks and emit a failure marker.

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

                                                  Select the prefix or payload state for the current literal.

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

                                                    Output encoded by the remaining input and current clause parsing state.

                                                    Equations
                                                    Instances For
                                                      def GapCVP.SourceVariableFormulaDecoder.variableScanTrace (input : List Bool) (payload : Bool) (position : Fin 3) (counter : List Bool) (count : ℕ) :
                                                      StateTransition.EvalsToInTime variableClauseMachine.step (variableConfiguration (variableScanPhase payload position) input counter count) (some (Turing.haltList variableClauseMachine (variableScanOutput input payload position counter count))) (2 * input.length + counter.length + 2)

                                                      Simulate the clause decoder through its remaining input to its final output.

                                                      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

                                                            Internal support shared across GapCVP continuation modules.

                                                            Equations
                                                            Instances For

                                                              Internal support shared across GapCVP continuation modules.

                                                              theorem GapCVP.FormulaTuringTM.binaryStackDecrement_value (bits remaining : List Bool) (hdecrement : binaryStackDecrement bits = some remaining) :

                                                              Internal support shared across GapCVP continuation modules.

                                                              Internal support shared across GapCVP continuation modules.

                                                              GapCVP reduction support.

                                                              Equations
                                                              Instances For

                                                                Internal support shared across GapCVP continuation modules.

                                                                Equations
                                                                Instances For

                                                                  Internal support shared across GapCVP continuation modules.

                                                                  Equations
                                                                  Instances For

                                                                    Consume a literal sign and advance to the next literal or final check.

                                                                    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.FormulaTuringTM.canonicalConfiguration (phase : Fin 17) (input counter field binary borrow output : List Bool) :

                                                                              GapCVP reduction support.

                                                                              Equations
                                                                              Instances For
                                                                                theorem GapCVP.FormulaTuringTM.canonical_header_prefix_true (input counter field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 0 (true :: input) counter field binary borrow output) = some (canonicalConfiguration 0 input (true :: counter) field binary borrow output)

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                theorem GapCVP.FormulaTuringTM.canonicalHeaderPrefixDelimiter (input counter field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 0 (false :: input) counter field binary borrow output) = some (canonicalConfiguration 1 input counter field binary borrow output)
                                                                                theorem GapCVP.FormulaTuringTM.canonical_header_prefix_missing (counter field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 0 [] counter field binary borrow output) = some (canonicalConfiguration 15 [] counter field binary borrow output)

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                theorem GapCVP.FormulaTuringTM.canonical_header_payload_step (bit : Bool) (input counter field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 1 (bit :: input) (true :: counter) field binary borrow output) = some (canonicalConfiguration 1 input counter (bit :: field) binary borrow output)

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                theorem GapCVP.FormulaTuringTM.canonical_header_payload_missing (counter field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 1 [] (true :: counter) field binary borrow output) = some (canonicalConfiguration 15 [] (true :: counter) field binary borrow output)

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                theorem GapCVP.FormulaTuringTM.canonical_header_payload_complete (input field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 1 input [] field binary borrow output) = some (canonicalConfiguration 2 input [] field binary borrow output)

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                theorem GapCVP.FormulaTuringTM.canonical_header_check_true (input field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 2 input [] (true :: field) binary borrow output) = some (canonicalConfiguration 3 input [] (true :: field) binary borrow output)

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                theorem GapCVP.FormulaTuringTM.canonical_header_check_false (input field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 2 input [] (false :: field) binary borrow output) = some (canonicalConfiguration 15 input [] (false :: field) binary borrow output)

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                theorem GapCVP.FormulaTuringTM.canonical_header_check_zero (input binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 2 input [] [] binary borrow output) = some (canonicalConfiguration (canonicalPrefixLabel 0) input [] [] binary borrow output)

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                theorem GapCVP.FormulaTuringTM.canonicalHeaderReverseStep (bit : Bool) (input field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 3 input [] (bit :: field) binary borrow output) = some (canonicalConfiguration 3 input [] field (bit :: binary) borrow output)
                                                                                theorem GapCVP.FormulaTuringTM.canonicalHeaderReverseComplete (input binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 3 input [] [] binary borrow output) = some (canonicalConfiguration (canonicalPrefixLabel 0) input [] [] binary borrow output)
                                                                                theorem GapCVP.FormulaTuringTM.canonicalBorrowZero (input counter field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 13 input counter field (false :: binary) borrow output) = some (canonicalConfiguration 13 input counter field binary (true :: borrow) output)
                                                                                theorem GapCVP.FormulaTuringTM.canonicalBorrowOne (input counter field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 13 input counter field (true :: binary) borrow output) = some (canonicalConfiguration 14 input counter field (false :: binary) borrow output)
                                                                                theorem GapCVP.FormulaTuringTM.canonicalBorrowExhausted (input counter field borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 13 input counter field [] borrow output) = some (canonicalConfiguration 15 input counter field [] borrow output)
                                                                                theorem GapCVP.FormulaTuringTM.canonicalBorrowRestoreStep (bit : Bool) (input counter field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 14 input counter field binary (bit :: borrow) output) = some (canonicalConfiguration 14 input counter field (true :: binary) borrow output)
                                                                                theorem GapCVP.FormulaTuringTM.canonicalBorrowRestoreComplete (input counter field binary output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 14 input counter field binary [] output) = some (canonicalConfiguration (canonicalPrefixLabel 0) input counter field binary [] output)
                                                                                theorem GapCVP.FormulaTuringTM.canonicalZeroCheckFalse (input counter field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 16 input counter field (false :: binary) borrow output) = some (canonicalConfiguration 16 input counter field binary borrow output)
                                                                                theorem GapCVP.FormulaTuringTM.canonicalZeroCheckTrue (input counter field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration 16 input counter field (true :: binary) borrow output) = some (canonicalConfiguration 15 input counter field (true :: binary) borrow output)
                                                                                theorem GapCVP.FormulaTuringTM.canonical_literal_prefix_true (position : Fin 3) (input counter field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration (canonicalPrefixLabel position) (true :: input) counter field binary borrow output) = some (canonicalConfiguration (canonicalPrefixLabel position) input (true :: counter) field binary borrow output)

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                theorem GapCVP.FormulaTuringTM.canonical_literal_prefix_delimiter (position : Fin 3) (input counter field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration (canonicalPrefixLabel position) (false :: input) counter field binary borrow output) = some (canonicalConfiguration (canonicalPayloadLabel position) input counter field binary borrow output)

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                theorem GapCVP.FormulaTuringTM.canonical_literal_payload_step (position : Fin 3) (bit : Bool) (input counter field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration (canonicalPayloadLabel position) (bit :: input) (true :: counter) field binary borrow output) = some (canonicalConfiguration (canonicalPayloadLabel position) input counter (bit :: field) binary borrow output)

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                theorem GapCVP.FormulaTuringTM.canonical_literal_payload_missing (position : Fin 3) (counter field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration (canonicalPayloadLabel position) [] (true :: counter) field binary borrow output) = some (canonicalConfiguration 15 [] (true :: counter) field binary borrow output)

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                theorem GapCVP.FormulaTuringTM.canonical_literal_field_true (position : Fin 3) (input field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration (canonicalPayloadLabel position) input [] (true :: field) binary borrow output) = some (canonicalConfiguration (canonicalClearLabel position) input [] (true :: field) binary borrow output)

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                theorem GapCVP.FormulaTuringTM.canonical_literal_field_false (position : Fin 3) (input field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration (canonicalPayloadLabel position) input [] (false :: field) binary borrow output) = some (canonicalConfiguration 15 input [] (false :: field) binary borrow output)

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                theorem GapCVP.FormulaTuringTM.canonical_literal_clear_step (position : Fin 3) (bit : Bool) (input field binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration (canonicalClearLabel position) input [] (bit :: field) binary borrow output) = some (canonicalConfiguration (canonicalClearLabel position) input [] field binary borrow output)

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                theorem GapCVP.FormulaTuringTM.canonicalClearSignStep (position : Fin 3) (hposition : position ≠ 2) (sign : Bool) (input binary borrow output : List Bool) :
                                                                                theorem GapCVP.FormulaTuringTM.canonicalClearCompleteClause (sign : Bool) (input binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration (canonicalClearLabel 2) (sign :: input) [] [] binary borrow output) = some (canonicalConfiguration 13 input [] [] binary borrow output)
                                                                                theorem GapCVP.FormulaTuringTM.canonical_zero_field_sign_step (position : Fin 3) (hposition : position ≠ 2) (sign : Bool) (input binary borrow output : List Bool) :

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                theorem GapCVP.FormulaTuringTM.canonical_zero_field_completeClause (sign : Bool) (input binary borrow output : List Bool) :
                                                                                canonicalFormulaMachine.step (canonicalConfiguration (canonicalPayloadLabel 2) (sign :: input) [] [] binary borrow output) = some (canonicalConfiguration 13 input [] [] binary borrow output)

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                Internal support shared across GapCVP continuation modules.

                                                                                def GapCVP.FormulaTuringTM.canonicalBorrowZerosTrace (zeros : ℕ) (tail input counter field borrow output : List Bool) :
                                                                                StateTransition.EvalsToInTime canonicalFormulaMachine.step (canonicalConfiguration 13 input counter field (List.replicate zeros false ++ true :: tail) borrow output) (some (canonicalConfiguration 14 input counter field (false :: tail) (List.replicate zeros true ++ borrow) output)) (zeros + 1)

                                                                                Borrow across zero bits until a one bit is reached.

                                                                                Equations
                                                                                • One or more equations did not get rendered due to their size.
                                                                                Instances For
                                                                                  def GapCVP.FormulaTuringTM.canonicalRestoreTrace (zeros : ℕ) (input counter field binary output : List Bool) :
                                                                                  StateTransition.EvalsToInTime canonicalFormulaMachine.step (canonicalConfiguration 14 input counter field binary (List.replicate zeros true) output) (some (canonicalConfiguration (canonicalPrefixLabel 0) input counter field (List.replicate zeros true ++ binary) [] output)) (zeros + 1)

                                                                                  Restore borrowed markers as one bits and return to prefix parsing.

                                                                                  Equations
                                                                                  • One or more equations did not get rendered due to their size.
                                                                                  Instances For
                                                                                    def GapCVP.FormulaTuringTM.canonicalDecrementTrace (zeros : ℕ) (tail input counter field output : List Bool) :
                                                                                    StateTransition.EvalsToInTime canonicalFormulaMachine.step (canonicalConfiguration 13 input counter field (List.replicate zeros false ++ true :: tail) [] output) (some (canonicalConfiguration (canonicalPrefixLabel 0) input counter field (List.replicate zeros true ++ false :: tail) [] output)) (2 * zeros + 2)

                                                                                    Decrement a positive binary stack by borrowing and restoring markers.

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

                                                                                      Internal support shared across GapCVP continuation modules.

                                                                                      theorem GapCVP.FormulaTuringTM.canonicalFailureDropInput (bit : Bool) (input counter field binary borrow output : List Bool) :
                                                                                      canonicalFormulaMachine.step (canonicalConfiguration 15 (bit :: input) counter field binary borrow output) = some (canonicalConfiguration 15 input counter field binary borrow output)
                                                                                      theorem GapCVP.FormulaTuringTM.canonicalFailureDropCounter (bit : Bool) (counter field binary borrow output : List Bool) :
                                                                                      canonicalFormulaMachine.step (canonicalConfiguration 15 [] (bit :: counter) field binary borrow output) = some (canonicalConfiguration 15 [] counter field binary borrow output)
                                                                                      theorem GapCVP.FormulaTuringTM.canonicalFailureDropField (bit : Bool) (field binary borrow output : List Bool) :
                                                                                      canonicalFormulaMachine.step (canonicalConfiguration 15 [] [] (bit :: field) binary borrow output) = some (canonicalConfiguration 15 [] [] field binary borrow output)
                                                                                      theorem GapCVP.FormulaTuringTM.canonicalFailureDropBinary (bit : Bool) (binary borrow output : List Bool) :
                                                                                      canonicalFormulaMachine.step (canonicalConfiguration 15 [] [] [] (bit :: binary) borrow output) = some (canonicalConfiguration 15 [] [] [] binary borrow output)
                                                                                      def GapCVP.FormulaTuringTM.canonicalFailureTrace (input counter field binary borrow output : List Bool) :
                                                                                      StateTransition.EvalsToInTime canonicalFormulaMachine.step (canonicalConfiguration 15 input counter field binary borrow output) (some (Turing.haltList canonicalFormulaMachine (false :: output))) (input.length + counter.length + field.length + binary.length + borrow.length + 1)

                                                                                      Internal support shared across GapCVP continuation modules.

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

                                                                                        Internal support shared across GapCVP continuation modules.

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

                                                                                          Internal support shared across GapCVP continuation modules.

                                                                                          Equations
                                                                                          Instances For

                                                                                            Internal support shared across GapCVP continuation modules.

                                                                                            def GapCVP.FormulaCert.canonicalHeaderPrefixTrace (length : ℕ) (tail counter field binary borrow output : List Bool) :

                                                                                            Internal support shared across GapCVP continuation modules.

                                                                                            Equations
                                                                                            • One or more equations did not get rendered due to their size.
                                                                                            Instances For
                                                                                              def GapCVP.FormulaCert.canonicalHeaderCopyTrace (header suffix field binary borrow output : List Bool) :

                                                                                              Internal support shared across GapCVP continuation modules.

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

                                                                                                Internal support shared across GapCVP continuation modules.

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

                                                                                                  Internal support shared across GapCVP continuation modules.

                                                                                                  Instances For

                                                                                                    Internal support shared across GapCVP continuation modules.

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

                                                                                                      Internal support shared across GapCVP continuation modules.

                                                                                                      Internal support shared across GapCVP continuation modules.

                                                                                                      def GapCVP.FormulaCert.canonicalBorrowFailureTrace (zeros : ℕ) (input counter field borrow output : List Bool) :

                                                                                                      Internal support shared across GapCVP continuation modules.

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

                                                                                                        Internal support shared across GapCVP continuation modules.

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

                                                                                                          Internal support shared across GapCVP continuation modules.

                                                                                                          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

                                                                                                              Internal support shared across GapCVP continuation modules.

                                                                                                              theorem GapCVP.FormulaTotalCert.binaryStackDecrement_length (bits remaining : List Bool) (hdecrement : FormulaTuringTM.binaryStackDecrement bits = some remaining) :
                                                                                                              remaining.length = bits.length

                                                                                                              Internal support shared across GapCVP continuation modules.

                                                                                                              Internal support shared across GapCVP continuation modules.

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

                                                                                                                Skip leading zero bits during the final zero check.

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

                                                                                                                  Internal support shared across GapCVP continuation modules.

                                                                                                                  Equations
                                                                                                                  • One or more equations did not get rendered due to their size.
                                                                                                                  Instances For
                                                                                                                    theorem GapCVP.FormulaTotalCert.canonical_literal_prefix_missing_counter (position : Fin 3) (counterBit : Bool) (counter field binary borrow output : List Bool) :
                                                                                                                    FormulaTuringTM.canonicalFormulaMachine.step (FormulaTuringTM.canonicalConfiguration (FormulaTuringTM.canonicalPrefixLabel position) [] (counterBit :: counter) field binary borrow output) = some (FormulaTuringTM.canonicalConfiguration 15 [] (counterBit :: counter) field binary borrow output)

                                                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                                                    theorem GapCVP.FormulaTotalCert.canonical_literal_prefix_incomplete (position : Fin 3) (hposition : position ≠ 0) (field binary borrow output : List Bool) :

                                                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                                                    Internal support shared across GapCVP continuation modules.

                                                                                                                    Internal support shared across GapCVP continuation modules.