OAI/Computability/UniqueGames/PCP/SourceHeaderCounts.lean
85 declarations, 0 contain sorry, 0 declared as axioms
- abbrev
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.Labelline 21 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.startline 23 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.innerline 24 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.finishline 25 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.wordline 27 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.indicesline 30 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.indices_nodupline 34 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.word_slotline 38 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.control_not_memline 43 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.digit_memline 49 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.preparedline 54 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.prepared_controlline 58 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.prepared_digitline 64 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.clear_resultline 71 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.statementline 90 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.stepsline 100 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.traceline 103 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Eval.inTimeline 145 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.leftValueline 163 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.rightValueline 164 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.dummyValueline 165 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.bitValueline 166 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.occurrenceValueline 167 - inductive
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Kindline 170 - abbrev
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Kind.enumListline 174 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Kind.enumList_getElem?_ctorIdx_eqline 176 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Kind.enumList_nodupline 180 - instance
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.(instance at line 182)line 182 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.polynomialline 186 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.polynomial_left_evalline 192 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.polynomial_right_evalline 194 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.polynomial_occurrences_evalline 196 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.bitValue_eq_nBitsline 200 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.occurrenceValue_eq_lengthline 205 - inductive
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Controlline 216 - abbrev
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Control.enumListline 221 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Control.enumList_getElem?_ctorIdx_eqline 224 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Control.enumList_nodupline 228 - instance
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.(instance at line 230)line 230 - abbrev
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Coefficientsline 234 - abbrev
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Layoutline 239 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.coefficientBlockline 241 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.inputControlline 248 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.outputControlline 251 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.controlSlotsline 254 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.localSlotsline 262 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.controlline 281 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.evalSlotsline 283 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.evalSlots_radixline 287 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.evalSlots_accAline 289 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.evalSlots_accBline 291 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.evalSlots_destinationline 293 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.evalSlots_counterline 295 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.evalSlots_scratchline 297 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.evalSlots_digitline 299 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.control_eq_iffline 303 - structure
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Cleanline 307 - inductive
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Labelline 319 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.evalStartline 325 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.afterEvalline 327 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.statementline 332 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.resultTapesline 353 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.stepsline 360 - structure
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.WorkCleanline 365 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Clean.workline 373 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.WorkClean.update_outputline 377 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.evalPhaseTraceline 387 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.trace_transline 408 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.traceline 415Source 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.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Layout, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Label, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.program, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.statement, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.control, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Clean, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.steps, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.evalStart, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.resultTapes
- def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.timePolynomialline 519 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.steps_le_timePolynomialline 526 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.inTimeline 547 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.inPolynomialTimeline 562 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.formulaInTimeline 579Source 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.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Layout, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Label, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.program, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.statement, OAI.UniqueGamesTheorem.Foundations.Target.Formula, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.control, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Clean, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.evalStart, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.resultTapes, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.timePolynomial
- theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.result_frameline 594 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.result_leftline 600 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.result_occurrencesline 603 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.result_dummyline 606 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.result_bitsline 609 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.result_variableCountline 612 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.result_clauseCountline 615 - theorem
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.result_source_headersline 619 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.programline 628 - def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.machineline 633Source documentation
A finite machine realizing the header phase on prepared operand registers.
def machine (u D : Nat) : FinTM2 where …
- def
OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.afterInitializationInTimeline 646Source 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.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Layout, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceLoopInit.Tape, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.control, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceLoopInit.variableHeader, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceLoopInit.clauseHeader, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Label, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.program, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.statement, OAI.UniqueGamesTheorem.Foundations.Target.Formula, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceHeaderCounts.Clean, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceLoopInit.outputTapes