Documentation

LeanPool.GapCVP.Part03D

GapCVP proof, part 03, continuation 04 #

Reject a literal whose field has no following sign bit, clearing the remaining work stacks.

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

    Reject a formula when decrementing its binary clause counter fails.

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

      Compute acceptance of a formula body from its parsing state and remaining clause count.

      Equations
      Instances For
        def GapCVP.FormulaTotalCert.canonicalBodyPhase (payload : Bool) (position : Fin 3) :
        Fin 17

        Select the prefix or payload machine phase for the current literal position.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def GapCVP.FormulaTotalCert.canonicalBodyBudget (binaryBound : ℕ) (input : List Bool) (counterLength : ℕ) (field : List Bool) :

          Time bound for parsing a formula body with a bounded binary counter.

          Equations
          Instances For

            Extend a step into the failure phase to a complete rejecting execution.

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

              Finish parsing by accepting exactly when the remaining clause count is zero.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def GapCVP.FormulaTotalCert.canonicalBodyTrace (binaryBound : ℕ) (input : List Bool) (payload : Bool) (position : Fin 3) (counterLength : ℕ) (field binary : List Bool) (hbinary : binary.length ≤ binaryBound) (hfield : payload = false → field = []) :

                A bounded execution matching the recursive formula-body acceptance function.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  def GapCVP.FormulaTotalCert.canonicalHeaderMissingPrefixTrace (count : ℕ) (counter field binary borrow output : List Bool) :

                  Detect a formula header whose length prefix has no delimiter.

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

                    A bounded rejecting execution for an undelimited formula header.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def GapCVP.FormulaTotalCert.canonicalHeaderPartialCopyTrace (payload remaining field binary borrow output : List Bool) :
                      StateTransition.EvalsToInTime FormulaTuringTM.canonicalFormulaMachine.step (FormulaTuringTM.canonicalConfiguration 1 payload (List.replicate payload.length true ++ remaining) field binary borrow output) (some (FormulaTuringTM.canonicalConfiguration 1 [] remaining (payload.reverse ++ field) binary borrow output)) payload.length

                      Copy the available header bits while retaining the unfinished length counter.

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

                        Reject a formula header shorter than its declared length.

                        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
                            Instances For

                              A bounded execution parsing a length-prefixed header and its following formula body.

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

                                Split an increment into the number of cleared low digits and the remaining high digits.

                                Equations
                                Instances For

                                  Apply binary increment the specified number of times.

                                  Equations
                                  Instances For
                                    def GapCVP.CLStructuralNaturalBinaryWriter.naturalBinaryWriterPeek (stack : Fin 4) (present absent : Turing.TM2.Stmt (fun (x : Fin 4) => Bool) (Fin 5) (Option Bool)) :
                                    Turing.TM2.Stmt (fun (x : Fin 4) => Bool) (Fin 5) (Option Bool)

                                    Read a stack head into the state and branch on whether the stack is empty.

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

                                      Remove a stack head while preserving the bit stored in the machine state.

                                      Equations
                                      Instances For
                                        def GapCVP.CLStructuralNaturalBinaryWriter.naturalBinaryWriterPushBit (stack : Fin 4) (continuation : Turing.TM2.Stmt (fun (x : Fin 4) => Bool) (Fin 5) (Option Bool)) :
                                        Turing.TM2.Stmt (fun (x : Fin 4) => Bool) (Fin 5) (Option Bool)

                                        Push the bit held in the state, defaulting to false when the state is empty.

                                        Equations
                                        Instances For
                                          def GapCVP.CLStructuralNaturalBinaryWriter.naturalBinaryWriterPushConstant (stack : Fin 4) (bit : Bool) (continuation : Turing.TM2.Stmt (fun (x : Fin 4) => Bool) (Fin 5) (Option Bool)) :
                                          Turing.TM2.Stmt (fun (x : Fin 4) => Bool) (Fin 5) (Option Bool)

                                          Push a fixed bit before executing the continuation.

                                          Equations
                                          Instances For

                                            Clear the stored bit and transfer control to the requested phase.

                                            Equations
                                            Instances For

                                              Consume one input bit and increment the counter, or begin output preparation.

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

                                                Propagate a binary carry, saving cleared digits on the carry stack.

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

                                                  Restore saved carry digits to the binary counter before reading more input.

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

                                                    Reverse the counter onto the carry stack in preparation for output.

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

                                                      Transfer prepared digits to the output stack and halt when none remain.

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

                                                        The four-stack machine that writes the binary encoding of its input length.

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

                                                          A writer configuration with explicit input, counter, carry, and output stacks.

                                                          Equations
                                                          Instances For

                                                            Executes the naturalBinaryWriterStepTac machine-step simplifier.

                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For
                                                              theorem GapCVP.CLStructuralNaturalBinaryWriter.naturalBinaryWriterRestoreStep (bit : Bool) (input digits carry output : List Bool) :
                                                              structuralNaturalBinaryWriter.step (naturalBinaryWriterConfiguration 2 input digits (bit :: carry) output) = some (naturalBinaryWriterConfiguration 2 input (bit :: digits) carry output)

                                                              Propagate a carry to the first zero bit or the end of the binary counter.

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

                                                                Restore the saved carry bits and return to the input phase.

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

                                                                  Complete one binary increment within a linear bound in the counter length.

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

                                                                    Recursive time bound for consuming input and incrementing the binary counter.

                                                                    Equations
                                                                    Instances For

                                                                      Consume every input bit, incrementing the binary counter once per bit.

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

                                                                        Reverse the binary counter onto the carry stack within a linear time bound.

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

                                                                          Write the prepared carry stack to output and halt within a linear time bound.

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

                                                                            A quadratic-time execution writing the binary encoding of the input length.

                                                                            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
                                                                                      noncomputable def GapCVP.CLStructuralWholeCNFOutputTM.structuralWholeThreeCNF (bound : Polynomial ℕ) {verifier : List Bool × List Bool → Bool} (machine : VerifierTM verifier) (x : List Bool) :

                                                                                      GapCVP reduction support.

                                                                                      Equations
                                                                                      • One or more equations did not get rendered due to their size.
                                                                                      Instances For
                                                                                        theorem GapCVP.CLStructuralWholeCNFOutputTM.structuralWholeCNFWord_mem_threeSAT_iff (bound : Polynomial ℕ) {verifier : List Bool × List Bool → Bool} (machine : VerifierTM verifier) (x : List Bool) :
                                                                                        threeSATLanguage (structuralWholeCNFWord bound machine x) = true ↔ ∃ (certificate : List Bool), certificate.length ≤ Polynomial.eval x.length bound ∧ verifier (x, certificate) = true

                                                                                        GapCVP reduction support.

                                                                                        Equations
                                                                                        Instances For
                                                                                          theorem GapCVP.CNFSortingDedup.replicate_append_bit_cons (bit : Bool) (count : ℕ) (tail : List Bool) :
                                                                                          List.replicate count bit ++ bit :: tail = bit :: (List.replicate count bit ++ tail)
                                                                                          @[instance_reducible]
                                                                                          Equations
                                                                                          • One or more equations did not get rendered due to their size.

                                                                                          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