Documentation

LeanPool.GapCVP.Part04D

GapCVP proof, part 04, continuation 04 #

noncomputable def GapCVP.OutputPolynomialCompositionClosure.markerConditionalTrueTrace {valid : List Bool → List Bool} (computer : BitTM valid) (fallback input : List Bool) :

Execute the supplied computer when the input begins with a true marker.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    noncomputable def GapCVP.OutputPolynomialCompositionClosure.markerConditionalFalseTrace {valid : List Bool → List Bool} (computer : BitTM valid) (fallback input : List Bool) :

    Return the fallback word when the input begins with a false marker.

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

      Return the fallback word in two steps when the input has no marker.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        noncomputable def GapCVP.OutputPolynomialCompositionClosure.markerConditionalTotalTrace {valid : List Bool → List Bool} (computer : BitTM valid) (fallback input : List Bool) :

        A time-bounded execution of the marker-controlled choice for every input.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          noncomputable def GapCVP.OutputPolynomialCompositionClosure.markerConditionalComputable {valid : List Bool → List Bool} (computer : BitTM valid) (fallback : List Bool) :

          GapCVP reduction support.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            noncomputable def GapCVP.OutputPolynomialCompositionClosure.sourcePreservingConditionalComputable {selector : List Bool → Bool} {valid : List Bool → List Bool} (selection : BitTM fun (input : List Bool) => selector input :: input) (computer : BitTM valid) (fallback : List Bool) :
            BitTM fun (input : List Bool) => if selector input = true then valid input else fallback

            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]

                              Worker stacks extended by a Boolean counter stack and a Boolean scratch stack.

                              Equations
                              Instances For
                                @[reducible, inline]

                                Use the worker alphabets on worker stacks and bits on the two auxiliary stacks.

                                Equations
                                Instances For
                                  @[reducible, inline]

                                  Worker labels extended by the five bounded-fold control phases.

                                  Equations
                                  Instances For
                                    @[reducible, inline]

                                    The worker state together with an optional bit used by the fold controller.

                                    Equations
                                    Instances For
                                      @[reducible, inline]

                                      Embed worker statements and return to fold phase two when the worker halts.

                                      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
                                          def GapCVP.OutputBoundedDependentRecordFold.boundedFoldStacks (tm : Turing.FinTM2) (sourceStacks : (k : tm.K) → List (tm.Γ k)) (counter scratch : List Bool) (k : BoundedFoldStack tm) :

                                          Combine the worker stacks with the fold counter and scratch contents.

                                          Equations
                                          Instances For
                                            noncomputable def GapCVP.OutputBoundedDependentRecordFold.boundedFoldPhaseConfiguration {worker : List Bool → List Bool} (computer : BitTM worker) (phase : Fin 5) (sourceStacks : (k : computer.tm.K) → List (computer.tm.Γ k)) (counter scratch : List Bool) :

                                            A controller-phase configuration with explicit worker and auxiliary stack contents.

                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For
                                              noncomputable def GapCVP.OutputBoundedDependentRecordFold.boundedFoldWorkerConfiguration {worker : List Bool → List Bool} (computer : BitTM worker) (counter : List Bool) (configuration : computer.tm.Cfg) :

                                              Internal support shared across GapCVP continuation modules.

                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For
                                                theorem GapCVP.OutputBoundedDependentRecordFold.boundedFoldWorkerConfiguration_step {worker : List Bool → List Bool} (computer : BitTM worker) (counter : List Bool) (configuration next : computer.tm.Cfg) (hstep : computer.tm.step configuration = some next) :
                                                (boundedDependentRecordFoldMachine computer).step (boundedFoldWorkerConfiguration computer counter configuration) = some (boundedFoldWorkerConfiguration computer counter next)

                                                Internal support shared across GapCVP continuation modules.

                                                noncomputable def GapCVP.OutputBoundedDependentRecordFold.boundedFoldScanConfiguration {worker : List Bool → List Bool} (computer : BitTM worker) (remaining : List (computer.tm.Γ computer.tm.k₀)) (counter : List Bool) :

                                                Internal support shared across GapCVP continuation modules.

                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For
                                                  noncomputable def GapCVP.OutputBoundedDependentRecordFold.boundedFoldDispatchConfiguration {worker : List Bool → List Bool} (computer : BitTM worker) (input : List (computer.tm.Γ computer.tm.k₀)) (counter : List Bool) :

                                                  Internal support shared across GapCVP continuation modules.

                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  Instances For
                                                    noncomputable def GapCVP.OutputBoundedDependentRecordFold.boundedFoldDrainConfiguration {worker : List Bool → List Bool} (computer : BitTM worker) (output : List (computer.tm.Γ computer.tm.k₁)) (counter scratch : List Bool) :

                                                    Internal support shared across GapCVP continuation modules.

                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    Instances For
                                                      noncomputable def GapCVP.OutputBoundedDependentRecordFold.boundedFoldRestoreConfiguration {worker : List Bool → List Bool} (computer : BitTM worker) (input : List (computer.tm.Γ computer.tm.k₀)) (counter scratch : 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
                                                          @[simp]
                                                          theorem GapCVP.OutputBoundedDependentRecordFold.boundedFoldWorkerConfiguration_halt {worker : List Bool → List Bool} (computer : BitTM worker) (counter : List Bool) (output : List (computer.tm.Γ computer.tm.k₁)) :
                                                          boundedFoldWorkerConfiguration computer counter (Turing.haltList computer.tm output) = boundedFoldDrainConfiguration computer output counter []

                                                          Internal support shared across GapCVP continuation modules.

                                                          Internal support shared across GapCVP continuation modules.

                                                          theorem GapCVP.OutputBoundedDependentRecordFold.boundedFold_scan_true {worker : List Bool → List Bool} (computer : BitTM worker) (remaining : List (computer.tm.Γ computer.tm.k₀)) (counter : List Bool) :
                                                          (boundedDependentRecordFoldMachine computer).step (boundedFoldScanConfiguration computer (computer.inputAlphabet.invFun true :: remaining) counter) = some (boundedFoldScanConfiguration computer remaining (true :: counter))

                                                          Internal support shared across GapCVP continuation modules.

                                                          theorem GapCVP.OutputBoundedDependentRecordFold.boundedFold_scan_delimiter {worker : List Bool → List Bool} (computer : BitTM worker) (remaining : List (computer.tm.Γ computer.tm.k₀)) (counter : List Bool) :
                                                          (boundedDependentRecordFoldMachine computer).step (boundedFoldScanConfiguration computer (computer.inputAlphabet.invFun false :: remaining) counter) = some (boundedFoldDispatchConfiguration computer remaining counter)

                                                          Internal support shared across GapCVP continuation modules.

                                                          Internal support shared across GapCVP continuation modules.

                                                          theorem GapCVP.OutputBoundedDependentRecordFold.boundedFold_dispatch_step {worker : List Bool → List Bool} (computer : BitTM worker) (input : List (computer.tm.Γ computer.tm.k₀)) (counter : List Bool) :

                                                          Internal support shared across GapCVP continuation modules.

                                                          Internal support shared across GapCVP continuation modules.

                                                          theorem GapCVP.OutputBoundedDependentRecordFold.boundedFold_drain_step {worker : List Bool → List Bool} (computer : BitTM worker) (symbol : computer.tm.Γ computer.tm.k₁) (remaining : List (computer.tm.Γ computer.tm.k₁)) (counter scratch : List Bool) :
                                                          (boundedDependentRecordFoldMachine computer).step (boundedFoldDrainConfiguration computer (symbol :: remaining) counter scratch) = some (boundedFoldDrainConfiguration computer remaining counter (computer.outputAlphabet symbol :: scratch))

                                                          Internal support shared across GapCVP continuation modules.

                                                          theorem GapCVP.OutputBoundedDependentRecordFold.boundedFold_drain_finish {worker : List Bool → List Bool} (computer : BitTM worker) (counter scratch : List Bool) :
                                                          (boundedDependentRecordFoldMachine computer).step (boundedFoldDrainConfiguration computer [] counter scratch) = some (boundedFoldRestoreConfiguration computer [] counter scratch)

                                                          Internal support shared across GapCVP continuation modules.

                                                          theorem GapCVP.OutputBoundedDependentRecordFold.boundedFold_restore_step {worker : List Bool → List Bool} (computer : BitTM worker) (input : List (computer.tm.Γ computer.tm.k₀)) (counter : List Bool) (bit : Bool) (scratch : List Bool) :
                                                          (boundedDependentRecordFoldMachine computer).step (boundedFoldRestoreConfiguration computer input counter (bit :: scratch)) = some (boundedFoldRestoreConfiguration computer (computer.inputAlphabet.invFun bit :: input) counter scratch)

                                                          Internal support shared across GapCVP continuation modules.

                                                          theorem GapCVP.OutputBoundedDependentRecordFold.boundedFold_restore_finish {worker : List Bool → List Bool} (computer : BitTM worker) (input : List (computer.tm.Γ computer.tm.k₀)) (counter : List Bool) :

                                                          Internal support shared across GapCVP continuation modules.

                                                          Internal support shared across GapCVP continuation modules.

                                                          Internal support shared across GapCVP continuation modules.