OAI/Computability/MaxCut/PCP/HeaderAccumulate.lean
83 declarations, 0 contain sorry, 0 declared as axioms
Actual fixed-coefficient affine address construction. A finite literal phase loads the coefficient, the checked width-two Horner machine reads coefficient and preserved offset with the rank as its radix, then the literal field is actually consumed. All operands and work stacks are restored.
- structure
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderAccumulate.Layoutline 12 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderAccumulate.statementline 22 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderAccumulate.resultTapesline 27 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderAccumulate.result_bitsline 31 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderAccumulate.result_countline 35 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderAccumulate.result_accumulatorline 39 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderAccumulate.result_frameline 44 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderAccumulate.traceline 49 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderAccumulate.inTimeline 95 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderAccumulate.inTime_stepsline 109 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderAccumulate.machineline 118 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderAccumulate.source_inputBits_headerline 129 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.Tapeline 147 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.Stateline 148 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.ArithmeticLabelline 149 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.Labelline 150 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.headerLayoutline 154 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.arithmeticEntryline 162 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.arithmeticProgramline 165 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.programline 170 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.initialTapesline 176 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.initializedTapesline 179 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.countedTapesline 182 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.outputTapesline 186 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.readyTapesline 191 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.initialized_formulaline 198 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.initialized_currentline 202 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.initialized_remainingline 206 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.initialized_variableHeaderline 210 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.initialized_clauseHeaderline 216 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.initialized_workline 222 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.initialized_work_rawline 229 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.initialized_fieldline 233 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.initialized_cleanline 240 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.initialArithmeticMetadataline 254 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.initial_arithmeticline 257 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.initial_loaderline 261 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.initializeInTimeline 265 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.arithmeticInTimeline 281 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.arithmeticConfigurationline 303 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.arithmetic_stepline 309 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.arithmeticPlacedInTimeline 327 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.phaseBoundline 342 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.phasesInTimeline 348 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.output_eq_readyline 357 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.ready_formulaline 374 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.ready_currentline 377 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.ready_remainingline 380 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.ready_variableHeaderline 383 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.ready_clauseHeaderline 386 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.ready_leftBlockline 389 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.ready_dummyline 393 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.ready_accumulatorline 397 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.ready_fieldline 401 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.ready_work_blankline 404 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.ready_sharedWorkline 410 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.ready_sharedFrameline 414 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.startupInTimeline 424 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.timePolynomialline 432 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.phaseBound_le_polynomialline 437 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.startupInPolynomialTimeline 458 - def
OAI.MaxCutGames.Foundations.Hastad.SourceStartup.machineline 467 - inductive
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.Labelline 493 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.Layoutline 499 - def
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.digitsline 501 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.horner_valueline 504 - def
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.stepsline 508 - def
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.operandLengthline 511 - def
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.timePolynomialline 514 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.timePolynomial_evalline 518 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.steps_le_timePolynomialline 523 - def
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.statementline 540 - def
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.programline 548 - def
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.coefficientTapesline 552 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.affineTraceline 556Source documentation
Exact affine execution, including coefficient initialization and cleanup.
theorem affineTrace (slots : Layout ↪ K) (coefficient : Nat) (labels : Label → Λ) (exit : Option Λ) (p : Λ → TM2.Stmt (fun _ : K => Bool) Λ (MachineHorner.State σ)) (atLabels : ∀ label, p (labels label) = statement slots coefficient labels exit label) (base : K → List Bool) (rank offset : Nat) (rankWord : base (slots (.inl 0)) = encodeWord rank) (offsetWord : base (slots (.inr 1)) = encodeWord offset) (coefficientEmpty : base (slots (.inr 0)) = []) (clean : MachineHorner.Clean slots base) (ambient : σ) (register : Option Bool) : (MachineComposition.advance (TM2.step p))^[steps coefficient rank offset] (some ⟨some (labels .seed), ((ambient, ()), register), base⟩) = some ⟨exit, ((ambient, ()), none), MachineHorner.resultTapes slots base (coefficient * rank + offset)⟩ := by …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.Layout, OAI.MaxCutGames.Foundations.Hastad.coefficient, OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.Label, OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.statement, OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.steps
- def
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.affineInTimeline 624 - def
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.affineInPolynomialTimeline 641 - def
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.programInTimeline 658 - def
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.leftBaseInTimeline 671Source documentation
Left query-block base from the preserved variable tuple rank and a zero offset field.
def leftBaseInTime (F : Formula) (u : Nat) (c : ClauseContext F u) (v : VariableContext F u) (slots : Layout ↪ K) (labels : Label → Λ) (exit : Option Λ) (p : Λ → TM2.Stmt (fun _ : K => Bool) Λ (MachineHorner.State σ)) (atLabels : ∀ label, p (labels label) = statement slots (2 ^ (2 ^ u)) labels exit label) (base : K → List Bool) (rankWord : base (slots (.inl 0)) = encodeWord (((variableEncoding F u).code v).val)) (zeroWord : base (slots (.inr 1)) = encodeWord 0) (coefficientEmpty : base (slots (.inr 0)) = []) (clean : MachineHorner.Clean slots base) (ambient : σ) (register : Option Bool) : StateTransition.EvalsToInTime (TM2.step p) ⟨some (labels .seed), ((ambient, ()), register), base⟩ (some ⟨exit, ((ambient, ()), none), MachineHorner.resultTapes slots base (baseValue F u c v 0)⟩) …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.Layout, OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.Label, OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.statement
- def
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.rightBaseInTimeline 691Source documentation
Right query-block base using the globally retained left-block size.
def rightBaseInTime (F : Formula) (u : Nat) (c : ClauseContext F u) (v : VariableContext F u) (slots : Layout ↪ K) (labels : Label → Λ) (exit : Option Λ) (p : Λ → TM2.Stmt (fun _ : K => Bool) Λ (MachineHorner.State σ)) (atLabels : ∀ label, p (labels label) = statement slots (2 ^ (8 ^ u)) labels exit label) (base : K → List Bool) (rankWord : base (slots (.inl 0)) = encodeWord (((clauseEncoding F u).code c).val)) (leftBlockWord : base (slots (.inr 1)) = encodeWord (2 ^ (2 ^ u) * F.«variables» ^ u)) (coefficientEmpty : base (slots (.inr 0)) = []) (clean : MachineHorner.Clean slots base) (ambient : σ) (register : Option Bool) : StateTransition.EvalsToInTime (TM2.step p) ⟨some (labels .seed), ((ambient, ()), register), base⟩ (some ⟨exit, ((ambient, ()), none), MachineHorner.resultTapes slots base (baseValue F u c v 1)⟩) …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.Layout, OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.Label, OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.statement
- theorem
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.resultTapes_dummyline 714Source documentation
The retained dummy register is among the unchanged external tapes.
theorem resultTapes_dummy (slots : Layout ↪ K) (base : K → List Bool) (value : Nat) (dummy : K) (distinct : dummy ≠ slots (.inl 3)) : MachineHorner.resultTapes slots base value dummy = base dummy := …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.Layout
- def
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.machineline 719 - def
OAI.MaxCutGames.Foundations.Hastad.SourceBasePhase.machineInTimeline 730