OAI/Computability/MaxCut/Machines/MachineInitialHeaders.lean
45 declarations, 0 contain sorry, 0 declared as axioms
Actual caller-program traces for non-destructive unary-prefix emission and the two headers of the raw initial graph. Unread suffixes are never scanned.
- abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.Alphabetline 21 - def
OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.prefixScanline 23 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.update_source_inline_MachineInitialHeadersline 34 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.update_scratch_inline_MachineInitialHeadersline 48 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.update_output_inline_MachineInitialHeadersline 59 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.prefixStep_trueline 65 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.prefixStep_falseline 76 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.replicate_append_cons_inline_MachineInitialHeadersline 86 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.prefixScanTraceline 92Source documentation
The first loop takes one transition per unary bit and one for the delimiter.
theorem prefixScanTrace (source scratch output : K) (hst : source ≠ scratch) (hso : source ≠ output) (hto : scratch ≠ output) (scale : ℕ) (again restore : Λ) (program : Λ → TM2.Stmt (Alphabet (K := K)) Λ (σ × Option Bool)) …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.Alphabet
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.prefixTraceline 129 - def
OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.prefixInTimeline 179 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.prefixScan_pushBoundline 198 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.literalTraceline 206Source documentation
One transition emits a fixed literal word and enters the caller continuation.
theorem literalTrace (output : K) (word : List Bool) (label : Λ) (exit : Option Λ) (program : Λ → TM2.Stmt (Alphabet (K := K)) Λ (σ × Option Bool)) …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.Alphabet
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.trace_trans_inline_MachineInitialHeadersline 219 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.headerTraceline 225Source documentation
The complete raw initial-graph header phase, in an arbitrary caller program. Only the output tape changes; its old suffix is preserved verbatim.
theorem headerTrace (nTape mTape scratch output : K) (_hnm : nTape ≠ mTape) (hnt : nTape ≠ scratch) (hno : nTape ≠ output) (hmt : mTape ≠ scratch) (hmo : mTape ≠ output) (hto : scratch ≠ output) (scanN restoreN scanM1 restoreM1 closeFirst scanM6 restoreM6 closeSecond : Λ) (exit : Option Λ) (program : Λ → TM2.Stmt (Alphabet (K := K)) Λ (σ × Option Bool)) …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.Alphabet
- def
OAI.MaxCutGames.Foundations.Complexity.MachineInitialHeaders.headerInTimeline 305 - abbrev
OAI.MaxCutGames.Explicit.MachineProductSeed.Commandline 351 - abbrev
OAI.MaxCutGames.Explicit.MachineProductSeed.LocalLabelline 352 - abbrev
OAI.MaxCutGames.Explicit.MachineProductSeed.Labelline 353 - def
OAI.MaxCutGames.Explicit.MachineProductSeed.entryline 355 - def
OAI.MaxCutGames.Explicit.MachineProductSeed.localInstructionline 358 - def
OAI.MaxCutGames.Explicit.MachineProductSeed.instructionline 362 - def
OAI.MaxCutGames.Explicit.MachineProductSeed.resultline 366 - def
OAI.MaxCutGames.Explicit.MachineProductSeed.finalTapesline 369 - theorem
OAI.MaxCutGames.Explicit.MachineProductSeed.sequence_stepsline 372 - theorem
OAI.MaxCutGames.Explicit.MachineProductSeed.seedTraceline 381Source documentation
Each literal has an actual one-transition trace in the ambient machine.
theorem seedTrace (commands : List (Command K)) (labels : Label commands → Λ) (exit : Option Λ) (program : Λ → TM2.Stmt (fun _ : K => Bool) Λ (σ × Option Bool)) (atLabels : ∀ l, program (labels l) = instruction commands labels exit l) (base : K → List Bool) (ambient : σ) (register : Option Bool) : (advance (TM2.step program))^[commands.length] (some ⟨entry commands labels exit, (ambient, register), base⟩) = some ⟨exit, (ambient, register), finalTapes commands base⟩ := by …Mentions: OAI.MaxCutGames.Explicit.MachineProductSeed.Command, OAI.MaxCutGames.Explicit.MachineProductSeed.Label, OAI.MaxCutGames.Explicit.MachineProductSeed.instruction, OAI.MaxCutGames.Explicit.MachineProductSeed.entry, OAI.MaxCutGames.Explicit.MachineProductSeed.finalTapes
- theorem
OAI.MaxCutGames.Explicit.MachineProductSeed.finalTapes_frameline 399 - theorem
OAI.MaxCutGames.Explicit.MachineProductSeed.finalTapes_fieldline 409 - inductive
OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.Tapeline 440 - inductive
OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.Labelline 444 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.labelAtline 451 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.statementline 456Source documentation
Place one of finitely many actual statements into an arbitrary ambient Boolean-tape program, preserving the ambient state component.
def statement (tape : Tape k → K) (labels : Label k → Λ) (exit : Option Λ) : Label k → TM2.Stmt (fun _ : K => Bool) Λ (σ × Option Bool) | .seed j => .push (tape (.current j)) (fun _ => false) (.goto (fun _ => labels (.copyOut j))) | .copyOut j => Reduction.MachineTransfer.loopAt (tape .radix) (tape .scratch) id false (labels (.copyOut j)) (some (labels (.copyBack j))) | .copyBack j => MachineCopy.forkLoop (tape .scratch) (tape .radix) (tape (.remaining j)) false (labels (.copyBack j)) (some (labels (.trim j))) | .trim j => .pop (tape (.remaining j)) (fun state _ => state) (.goto (fun _ => labelAt labels (j.val+1))) | .done => .load (fun state => (state.1,none)) (Reduction.MachineTransfer.exitAt (tape .radix) exit)Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.Tape, OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.Label, OAI.MaxCutGames.Reduction.MachineTransfer.loopAt, OAI.MaxCutGames.Foundations.Complexity.MachineCopy.forkLoop, OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.labelAt, OAI.MaxCutGames.Reduction.MachineTransfer.exitAt
- def
OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.digitOutputline 469 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.digitOutput_frameline 474 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.digitInTimeline 484 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.stageTapesline 535 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.stageTapes_frameline 540 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.stageTapes_currentline 552 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.stageTapes_remainingline 575 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.prefixInTimeline 598Source documentation
Place the actual finite initialization prefix inside an ambient program.
def prefixInTime (m : Nat) (hm : 0 < m) (base : K → List Bool) (hradix : base (tape .radix) = encodeWord m) (hcurrent : ∀j, base (tape (.current j)) = []) (hremaining : ∀j, base (tape (.remaining j)) = []) (hscratch : base (tape .scratch) = []) (ambient : σ) (r : Nat) (hr : r ≤ k) : StateTransition.EvalsToInTime (TM2.step program) ⟨some (labelAt labels 0),(ambient,none),base⟩ (some ⟨some (labelAt labels r),(ambient,none),stageTapes tape m base r⟩) (r*(2*m+6)) := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.encodeWord, OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.labelAt, OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.stageTapes
- def
OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.initializeInTimeline 632Source documentation
Complete actual initialization, including width zero and the optional continuation. The radix, scratch, ambient state and unrelated tapes survive.
def initializeInTime (m : Nat) (hm : 0 < m) (base : K → List Bool) (hradix : base (tape .radix) = encodeWord m) (hcurrent : ∀j, base (tape (.current j)) = []) (hremaining : ∀j, base (tape (.remaining j)) = []) (hscratch : base (tape .scratch) = []) (ambient : σ) : StateTransition.EvalsToInTime (TM2.step program) ⟨some (labelAt labels 0),(ambient,none),base⟩ (some ⟨exit,(ambient,none),stageTapes tape m base k⟩) (k*(2*m+6)+1) := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.encodeWord, OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.labelAt, OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.stageTapes
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.output_currentline 655 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.output_remainingline 661 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.output_radixline 667 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOdometerInit.output_scratchline 673