OAI/Computability/MaxCut/PCP/ContextClear.lean
77 declarations, 0 contain sorry, 0 declared as axioms
- abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.Tapeline 11 - def
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.fieldAtline 15 - def
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.fieldsline 18 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.fieldAt_injectiveline 20 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.fields_lengthline 27 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.fields_nodupline 30 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.field_memline 33 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.mem_fields_iffline 38 - def
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.outputTapesline 46 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.output_fieldline 50 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.output_frameline 53 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.Labelline 57 - def
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.entryLabel_inline_SourceContextClearline 60 - def
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.mainline 64 - def
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.programline 68 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.entryLabel_eq_inline_SourceContextClearline 73 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.entry_eq_inline_SourceContextClearline 80 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.finalTapes_eqline 84 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.lengthSum_update_inline_SourceContextClearline 90 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.steps_eq_of_nodup_inline_SourceContextClearline 101Source documentation
Distinct chosen tapes make the pre-cleanup length sum the exact drain cost.
private theorem steps_eq_of_nodup_inline_SourceContextClear {K : Type} [DecidableEq K] (chosen : List K) (h : chosen.Nodup) (base : K → List Bool) : MachineDrainMany.steps chosen base = MachineDrainMany.lengthSum chosen base + chosen.length := by … - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.trace_trans_inline_SourceContextClearline 113 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.clearTraceline 117 - def
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.clearInTimeline 129 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.lengthSum_le_selected_inline_SourceContextClearline 137 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.clauseField_length_leline 149 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.variables_add_two_le_inputline 157 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.loaded_field_length_leline 164 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.loaded_cost_leline 173 - def
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.clearLoadedInTimeline 186 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.output_loaded_eq_baseline 198 - def
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.clearLoadedToBaseInTimeline 211Source documentation
With initially clean fields and lookup work tapes, loading followed by this cleanup restores the caller's original frame exactly.
def clearLoadedToBaseInTime (F : Target.Formula) (tuple : Fin u → Fin F.clauses.length) (base : Tape u Extra → List Bool) (hfields : ∀ j s, base (.field j s) = []) (hindex : base .index = []) (hwork : base .work = []) (register : Option Bool) : StateTransition.EvalsToInTime (TM2.step program) ⟨some main, ((), register), SourceContextLoad.stageTapes F tuple base u⟩ (some ⟨none, ((), none), base⟩) (6 * u * ((formulaBits F).length + 1) + 1) := by …Mentions: OAI.MaxCutGames.Foundations.Target.Formula, OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.Tape, OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.program, OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.main, OAI.MaxCutGames.Foundations.Hastad.SourceContextLoad.stageTapes
- def
OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.machineline 221 - def
OAI.MaxCutGames.Foundations.Hastad.SourceQueryOrder.occurrenceBitsline 239 - def
OAI.MaxCutGames.Foundations.Hastad.SourceQueryOrder.slotBitsline 242 - def
OAI.MaxCutGames.Foundations.Hastad.SourceQueryOrder.tupleBitsline 246 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceQueryOrder.equationBits_eqline 249 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceQueryOrder.prefixBits_eq_slotBitsline 256 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceQueryOrder.sourceLoopInTimeline 269 - structure
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.Snapshotline 313 - def
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapesline 323 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_rankline 331 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_rightBaseline 333 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_leftBaseline 335 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_zeroline 337 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_accumulatorline 339 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_coefficientline 341 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_dummyline 343 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_leftBlockline 345 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_queryTemporaryline 347 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_queryScratchline 349 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_fieldline 351 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_currentline 353 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_formulaline 355 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_indexline 357 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_workline 359 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_variableHeaderline 361 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_clauseHeaderline 363 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.update_rankline 368 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.update_rightBaseline 377 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.update_leftBaseline 386 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.update_zeroline 395 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.update_emittedline 404 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.query_resultline 414 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.horner_clause_resultline 423 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.horner_variable_resultline 430 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.horner_right_resultline 438 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.horner_left_resultline 445 - structure
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.WorkCleanline 452 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.clean_clauseline 459 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.clean_variableline 467 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.clean_baseline 475 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_coordinateOutputline 483 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes_stageTapesline 497 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.final_tapesline 509 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.empty_tapesline 522 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.clear_loadedline 529 - def
OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.clearLoadedSnapshotInTimeline 537Source documentation
Apply the checked actual field cleanup directly to an overlaid loaded context.
def clearLoadedSnapshotInTime (F : Target.Formula) (c : ClauseContext F u) (base : Arena u Extra → List Bool) (s : Snapshot) (hfields : ∀ j k, base (.field j k) = []) (hindex : base .index = []) (hwork : base .work = []) (register : Option Bool) : StateTransition.EvalsToInTime (TM2.step SourceContextClear.program) ⟨some SourceContextClear.main, ((), register), tapes (SourceContextLoad.stageTapes F c base u) s⟩ (some ⟨none, ((), none), tapes base s⟩) (6 * u * ((formulaBits F).length + 1) + 1) := by …Mentions: OAI.MaxCutGames.Foundations.Target.Formula, OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.Snapshot, OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.program, OAI.MaxCutGames.Foundations.Hastad.SourceContextClear.main, OAI.MaxCutGames.Foundations.Hastad.SourceTupleTape.tapes, OAI.MaxCutGames.Foundations.Hastad.SourceContextLoad.stageTapes