OAI/Computability/MaxCut/PCP/HeaderCounts.lean
107 declarations, 0 contain sorry, 0 declared as axioms
- abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.Labelline 19 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.startline 21 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.innerline 22 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.finishline 23 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.wordline 25 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.indicesline 28 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.indices_nodupline 32 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.word_slotline 36 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.control_not_memline 41 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.digit_memline 47 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.preparedline 52 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.prepared_controlline 56 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.prepared_digitline 62 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.clear_resultline 69 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.statementline 88 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.stepsline 98 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.traceline 101 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Eval.inTimeline 143 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.leftValueline 161 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.rightValueline 162 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.dummyValueline 163 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.bitValueline 164 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.occurrenceValueline 165 - inductive
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Kindline 168 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Kind.enumListline 171 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Kind.enumList_getElem?_ctorIdx_eqline 173 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Kind.enumList_nodupline 177 - instance
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.(instance at line 179)line 179 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.polynomialline 183 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.polynomial_left_evalline 189 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.polynomial_right_evalline 191 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.polynomial_occurrences_evalline 193 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.bitValue_eq_nBitsline 197 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.occurrenceValue_eq_lengthline 202 - inductive
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Controlline 213 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Control.enumListline 218 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Control.enumList_getElem?_ctorIdx_eqline 222 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Control.enumList_nodupline 226 - instance
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.(instance at line 228)line 228 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Coefficientsline 232 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Layoutline 237 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.coefficientBlockline 239 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.inputControlline 246 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.outputControlline 249 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.controlSlotsline 252 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.localSlotsline 260 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.controlline 279 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.evalSlotsline 281 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.evalSlots_radixline 285 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.evalSlots_accAline 287 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.evalSlots_accBline 289 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.evalSlots_destinationline 291 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.evalSlots_counterline 293 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.evalSlots_scratchline 295 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.evalSlots_digitline 297 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.control_eq_iffline 301 - structure
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Cleanline 305 - inductive
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Labelline 317 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.evalStartline 323 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.afterEvalline 325 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.statementline 330 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.resultTapesline 351 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.stepsline 358 - structure
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.WorkCleanline 363 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Clean.workline 371 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.WorkClean.update_outputline 375 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.evalPhaseTraceline 385 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.trace_trans_inline_SourceHeaderCountsline 406 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.traceline 413Source documentation
The actual header program preserves its two operands and every caller frame. The four retained outputs are left-block size, dummy index, bit count, and occurrence count. The temporary and all coefficient/work tapes are restored.
theorem trace (slots : Layout u D ↪ K) (labels : Label u D → Λ) (exit : Option Λ) (program : Λ → TM2.Stmt (fun _ : K => Bool) Λ (MachineHorner.State σ)) (atLabels : ∀ l, program (labels l) = statement slots labels exit l) (base : K → List Bool) (n m : Nat) (hn : base (control slots .variableCount) = encodeWord n) (hm : base (control slots .clauseCount) = encodeWord m) (clean : Clean slots base) (ambient : σ) (register : Option Bool) : (advance (TM2.step program))^[steps u D n m] (some ⟨some (labels (evalStart .left)), ((ambient, ()), register), base⟩) = some ⟨exit, ((ambient, ()), none), resultTapes slots base n m⟩ := by …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Layout, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Label, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.program, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.statement, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.control, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Clean, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.steps, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.evalStart, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.resultTapes
- def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.timePolynomialline 517 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.steps_le_timePolynomialline 524 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.inTimeline 545 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.inPolynomialTimeline 560 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.formulaInTimeline 577Source documentation
Formula headers supply the operand bounds for the actual transition count.
def formulaInTime (slots : Layout u D ↪ K) (labels : Label u D → Λ) (exit : Option Λ) (program : Λ → TM2.Stmt (fun _ : K => Bool) Λ (MachineHorner.State σ)) (atLabels : ∀ l, program (labels l) = statement slots labels exit l) (base : K → List Bool) (F : Target.Formula) (hn : base (control slots .variableCount) = encodeWord F.«variables») (hm : base (control slots .clauseCount) = encodeWord F.clauses.length) (clean : Clean slots base) (ambient : σ) (register : Option Bool) : StateTransition.EvalsToInTime (TM2.step program) ⟨some (labels (evalStart .left)), ((ambient, ()), register), base⟩ (some ⟨exit, ((ambient, ()), none), resultTapes slots base F.«variables» F.clauses.length⟩) ((timePolynomial u D).eval (formulaBits F).length) := …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Layout, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Label, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.program, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.statement, OAI.MaxCutGames.Foundations.Target.Formula, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.control, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Clean, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.evalStart, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.resultTapes, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.timePolynomial
- theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.result_frameline 592 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.result_leftline 598 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.result_occurrencesline 601 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.result_dummyline 604 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.result_bitsline 607 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.result_variableCountline 610 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.result_clauseCountline 613 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.result_source_headersline 617 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.programline 626 - def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.machineline 631Source documentation
A finite machine realizing the header phase on prepared operand registers.
def machine (u D : Nat) : FinTM2 where …
- def
OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.afterInitializationInTimeline 644Source documentation
Consume the preserved header registers established by
SourceLoopInit. The caller supplies the static placement and empty work registers.def afterInitializationInTime {Extra : Type} [DecidableEq Extra] (slots : Layout u D ↪ SourceLoopInit.Tape u Extra) (hnslot : control slots .variableCount = SourceLoopInit.variableHeader) (hmslot : control slots .clauseCount = SourceLoopInit.clauseHeader) (labels : Label u D → Λ) (exit : Option Λ) (program : Λ → TM2.Stmt (fun _ : SourceLoopInit.Tape u Extra => Bool) Λ (MachineHorner.State σ)) (atLabels : ∀ l, program (labels l) = statement slots labels exit l) (base : SourceLoopInit.Tape u Extra → List Bool) (F : Target.Formula) (hn : base SourceLoopInit.variableHeader = []) (hm : base SourceLoopInit.clauseHeader = []) (clean : Clean slots (SourceLoopInit.outputTapes F base)) …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Layout, OAI.MaxCutGames.Foundations.Hastad.SourceLoopInit.Tape, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.control, OAI.MaxCutGames.Foundations.Hastad.SourceLoopInit.variableHeader, OAI.MaxCutGames.Foundations.Hastad.SourceLoopInit.clauseHeader, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Label, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.program, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.statement, OAI.MaxCutGames.Foundations.Target.Formula, OAI.MaxCutGames.Foundations.Hastad.SourceHeaderCounts.Clean, OAI.MaxCutGames.Foundations.Hastad.SourceLoopInit.outputTapes
- abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.Extraline 676 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.Tapeline 677 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.Stateline 678 - def
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.outputTapeline 680 - def
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.accumulatorTapeline 681 - def
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.headerControlline 683 - def
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.headerSlotsline 701 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.ControlAmbientline 717 - def
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.controlStateEquivline 721Source documentation
Expose the existing arithmetic head register to the odometer and final cleanup. This is a static finite-state equivalence, with no machine steps.
def controlStateEquiv (u D : Nat) : ControlAmbient u D × Option Bool ≃ State u D where …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.ControlAmbient, OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.State
- def
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.initialQueryline 730 - def
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.initialStateline 733 - def
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.initialAmbientline 736 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.control_initialline 739 - def
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.coefficientKeysline 742 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.mem_coefficientKeysline 750 - def
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.workKeysline 756 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.mem_workKeysline 762 - def
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.allTapesline 774Source documentation
An explicit tape enumeration, fixed before the input is supplied. It uses constructor lists and increasing finite coefficient indices.
noncomputable def allTapes (u D : Nat) : List (Tape u D) := …
Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.Tape
- theorem
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.mem_allTapesline 782 - def
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.clearKeysline 802 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.mem_clearKeysline 807 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceGeneratorModel.accumulator_ne_outputline 812