Documentation

LeanPool.GapCVP.Part03B

GapCVP proof, part 03, continuation 02 #

Decode a valid length-prefixed payload and discard its suffix within a linear time bound.

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

    Clear the decoder's work stacks and halt with a failure flag.

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

      Enter the failure state when the 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 entirely of a unary length prefix.

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

          Copy all available payload bits while retaining any unconsumed length counter.

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

            Reject a payload shorter than its declared length within a linear time bound.

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

              GapCVP reduction support.

              Instances For

                GapCVP reduction support.

                Instances For

                  GapCVP reduction support.

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

                    A time-bounded decoder execution for every input, including malformed encodings.

                    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]

                        The single-step machine that removes the first bit of its input.

                        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]

                              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
                                  theorem GapCVP.SourceFormulaStructuralDecoder.suffix_prefix_true (input counter reversed output : List Bool) :
                                  suffixDecoderMachine.step (suffixConfiguration 0 (true :: input) counter reversed output) = some (suffixConfiguration 0 input (true :: counter) reversed output)

                                  Internal support shared across GapCVP continuation modules.

                                  theorem GapCVP.SourceFormulaStructuralDecoder.suffix_prefix_delimiter (input counter reversed output : List Bool) :
                                  suffixDecoderMachine.step (suffixConfiguration 0 (false :: input) counter reversed output) = some (suffixConfiguration 1 input counter reversed output)

                                  Internal support shared across GapCVP continuation modules.

                                  theorem GapCVP.SourceFormulaStructuralDecoder.suffix_prefix_missing_delimiter (counter reversed output : List Bool) :
                                  suffixDecoderMachine.step (suffixConfiguration 0 [] counter reversed output) = some (suffixConfiguration 5 [] counter reversed output)

                                  Internal support shared across GapCVP continuation modules.

                                  theorem GapCVP.SourceFormulaStructuralDecoder.suffix_copy_step (bit : Bool) (input counter reversed output : List Bool) :
                                  suffixDecoderMachine.step (suffixConfiguration 1 (bit :: input) (true :: counter) reversed output) = some (suffixConfiguration 1 input counter (bit :: reversed) output)

                                  Internal support shared across GapCVP continuation modules.

                                  theorem GapCVP.SourceFormulaStructuralDecoder.suffix_insufficient (counter reversed output : List Bool) :
                                  suffixDecoderMachine.step (suffixConfiguration 1 [] (true :: counter) reversed output) = some (suffixConfiguration 5 [] (true :: counter) reversed output)

                                  Internal support shared across GapCVP continuation modules.

                                  theorem GapCVP.SourceFormulaStructuralDecoder.suffix_counter_complete (input reversed output : List Bool) :
                                  suffixDecoderMachine.step (suffixConfiguration 1 input [] reversed output) = some (suffixConfiguration 2 input [] reversed output)

                                  Internal support shared across GapCVP continuation modules.

                                  theorem GapCVP.SourceFormulaStructuralDecoder.suffix_discard_step (bit : Bool) (input reversed output : List Bool) :
                                  suffixDecoderMachine.step (suffixConfiguration 2 input [] (bit :: reversed) output) = some (suffixConfiguration 2 input [] reversed output)

                                  Internal support shared across GapCVP continuation modules.

                                  Internal support shared across GapCVP continuation modules.

                                  theorem GapCVP.SourceFormulaStructuralDecoder.suffix_collect_step (bit : Bool) (input reversed output : List Bool) :
                                  suffixDecoderMachine.step (suffixConfiguration 3 (bit :: input) [] reversed output) = some (suffixConfiguration 3 input [] (bit :: reversed) output)

                                  Internal support shared across GapCVP continuation modules.

                                  Internal support shared across GapCVP continuation modules.

                                  theorem GapCVP.SourceFormulaStructuralDecoder.suffix_restore_step (bit : Bool) (reversed output : List Bool) :
                                  suffixDecoderMachine.step (suffixConfiguration 4 [] [] (bit :: reversed) output) = some (suffixConfiguration 4 [] [] reversed (bit :: output))

                                  Internal support shared across GapCVP continuation modules.

                                  Internal support shared across GapCVP continuation modules.

                                  theorem GapCVP.SourceFormulaStructuralDecoder.suffix_failure_drop_input (bit : Bool) (input counter reversed output : List Bool) :
                                  suffixDecoderMachine.step (suffixConfiguration 5 (bit :: input) counter reversed output) = some (suffixConfiguration 5 input counter reversed output)

                                  Internal support shared across GapCVP continuation modules.

                                  theorem GapCVP.SourceFormulaStructuralDecoder.suffix_failure_drop_counter (bit : Bool) (counter reversed output : List Bool) :
                                  suffixDecoderMachine.step (suffixConfiguration 5 [] (bit :: counter) reversed output) = some (suffixConfiguration 5 [] counter reversed output)

                                  Internal support shared across GapCVP continuation modules.

                                  Internal support shared across GapCVP continuation modules.

                                  Internal support shared across GapCVP continuation modules.