OAI/MathematicalPhysics/NavierStokes/ForcedComputation/Programs/BalancedCycle.lean
25 declarations, 0 contain sorry, 0 declared as axioms
Finite sweeps in the balanced recorder. The preparatory cycle restores both work tapes and moves exactly one blank onto the history stack.
- abbrev
OAI.ForcedComputation.Balanced.pushline 13 - abbrev
OAI.ForcedComputation.Balanced.wordline 14 - def
OAI.ForcedComputation.Balanced.tripleline 16 - theorem
OAI.ForcedComputation.Balanced.prefixConfiguration_threeline 19 - inductive
OAI.ForcedComputation.Balanced.Stepsline 28 - theorem
OAI.ForcedComputation.Balanced.Step.stepsline 33 - theorem
OAI.ForcedComputation.Balanced.Steps.transline 37 - theorem
OAI.ForcedComputation.Balanced.enter_stepline 45 - theorem
OAI.ForcedComputation.Balanced.outward_stepline 53 - theorem
OAI.ForcedComputation.Balanced.supply_stepline 61 - theorem
OAI.ForcedComputation.Balanced.inward_stepline 69 - theorem
OAI.ForcedComputation.Balanced.restore_stepline 77 - theorem
OAI.ForcedComputation.Balanced.word_appendline 85 - abbrev
OAI.ForcedComputation.Balanced.workWordline 91 - theorem
OAI.ForcedComputation.Balanced.outward_sweepline 93 - theorem
OAI.ForcedComputation.Balanced.inward_sweepline 105 - theorem
OAI.ForcedComputation.Balanced.preparationline 119Source documentation
On arbitrary independent tails, preparation removes one right-tail blank and adds that same blank to history, leaving the finite work window unchanged.
theorem preparation (M : Recorder.Machine Q A) (blank : A) (q : Q) (a : A) (hq : M.halting q = false) (w : List A) (l r h : Stack Q A) : Steps M blank (2 * w.length + 3) (triple (.checkpoint q) l (push (work a) (word (workWord w) (push .boundary (push (work blank) r)))) h) (triple (.dispatch q) l (push (work a) (word (workWord w) (push .boundary r))) (push (work blank) h)) := by …Mentions: OAI.ForcedComputation.Recorder.Machine, OAI.ForcedComputation.Balanced.Stack, OAI.ForcedComputation.Balanced.Steps, OAI.ForcedComputation.Balanced.triple, OAI.ForcedComputation.Balanced.push, OAI.ForcedComputation.Balanced.word, OAI.ForcedComputation.Balanced.workWord
- theorem
OAI.ForcedComputation.Balanced.stay_stepline 140 - theorem
OAI.ForcedComputation.Balanced.left_stepline 149 - theorem
OAI.ForcedComputation.Balanced.right_stepline 159 - theorem
OAI.ForcedComputation.Balanced.boundary_stepline 169 - theorem
OAI.ForcedComputation.Balanced.stay_cycleline 179 - theorem
OAI.ForcedComputation.Balanced.left_cycleline 191 - theorem
OAI.ForcedComputation.Balanced.right_cycleline 203 - theorem
OAI.ForcedComputation.Balanced.boundary_cycleline 220Source documentation
A right move at the boundary creates a new blank work cell while retaining one boundary and the same infinite blank filler.
theorem boundary_cycle (M : Recorder.Machine Q A) (blank : A) (q : Q) (a : A) (hq : M.halting q = false) (hm : M.move q a = 1) (l h : Stack Q A) : Steps M blank 4 (triple (.checkpoint q) l (push (work a) (push .boundary (fun _ => work blank))) h) (triple (.checkpoint (M.next q a)) (push (work (M.write q a)) l) (push (work blank) (push .boundary (fun _ => work blank))) (push (record (.boundary q a)) h)) := by …Mentions: OAI.ForcedComputation.Recorder.Machine, OAI.ForcedComputation.Balanced.Stack, OAI.ForcedComputation.Balanced.Steps, OAI.ForcedComputation.Balanced.triple, OAI.ForcedComputation.Balanced.push