OAI/Computability/SpaceSimulation/Stack/Edit.lean
35 declarations, 0 contain sorry, 0 declared as axioms
Some elementary SM programs and their space bounds. We move by popping into empty scratch stacks or onto stacks already in use; as long as the end stacks of such a drain fit, the intermediate writes fit. All lemmas here bound maximum height, not time.
- theorem
OAI.Fifths.Store.ext'line 13 - def
OAI.Fifths.Store.atXline 16 - def
OAI.Fifths.Store.preline 19 - theorem
OAI.Fifths.Store.pre_nilline 22 - theorem
OAI.Fifths.Store.pre_preline 25 - def
OAI.Fifths.Store.setline 32 - theorem
OAI.Fifths.Store.set_roline 35 - theorem
OAI.Fifths.Store.set_sameline 36 - theorem
OAI.Fifths.Store.set_otherline 37 - theorem
OAI.Fifths.Store.set_setline 40 - theorem
OAI.Fifths.Store.set_selfline 42 - theorem
OAI.Fifths.Store.set_swapline 43 - theorem
OAI.Fifths.Store.set_okline 53 - def
OAI.Fifths.Store.drainedline 60 - def
OAI.Fifths.SM.editOneline 71 - theorem
OAI.Fifths.SM.perform_oneline 74 - def
OAI.Fifths.SM.popline 82Source documentation
Destructively peek (return none on empty).
def pop (k : K) : SM X J K (Option Bool) := …
Mentions: OAI.Fifths.SM
- theorem
OAI.Fifths.SM.exec_popline 85 - def
OAI.Fifths.SM.racksline 100Source documentation
Push a fixed (top-first) string onto each selected stack.
def racks (d : K → Bool) (b : Bool) : StChange J K := …
Mentions: OAI.Fifths.StChange
- theorem
OAI.Fifths.SM.racks_performline 103 - def
OAI.Fifths.SM.broadcastline 108 - theorem
OAI.Fifths.SM.exec_broadcastline 112 - def
OAI.Fifths.SM.ontoline 132 - theorem
OAI.Fifths.SM.pre_ontoline 134 - def
OAI.Fifths.SM.prependline 138 - theorem
OAI.Fifths.SM.exec_prependline 139 - def
OAI.Fifths.SM.drainBodyline 148Source documentation
All symbols of one source stack flow to a number of destinations (possibly zero), with each popped bit mapped to its own fixed code.
def drainBody (k : K) (d : K → Bool) (code : Bool → List Bool) : SM X J K (Option Unit) := …Mentions: OAI.Fifths.SM
- def
OAI.Fifths.SM.drainline 154 - theorem
OAI.Fifths.SM.exec_drainline 158 - def
OAI.Fifths.SM.clearline 211 - theorem
OAI.Fifths.SM.exec_clearline 213 - def
OAI.Fifths.SM.spillline 220 - theorem
OAI.Fifths.SM.exec_spillline 221 - def
OAI.Fifths.SM.rewindline 235Source documentation
Rewind only the public head. Does not need a position counter.
def rewind : SM X J K Unit := …
Mentions: OAI.Fifths.SM
- theorem
OAI.Fifths.SM.exec_rewindline 241