OAI/Computability/SpaceSimulation/Stack/Comp.lean
23 declarations, 0 contain sorry, 0 declared as axioms
Sequencing elementary stack computations.
- def
OAI.Fifths.SM.peekline 9 - def
OAI.Fifths.SM.pureline 14 - theorem
OAI.Fifths.SM.exec_peekline 16 - theorem
OAI.Fifths.SM.exec_pureline 21 - def
OAI.Fifths.SM.actline 25Source documentation
Read, carry out one stack/head transition, and return a label.
def act [Finite Y] (f : Reads X J → (K → Option Bool) → Y × StChange J K) : SM X J K Y where …Mentions: OAI.Fifths.Reads, OAI.Fifths.StChange, OAI.Fifths.SM
- theorem
OAI.Fifths.SM.exec_actline 36 - def
OAI.Fifths.SM.changeline 43 - theorem
OAI.Fifths.SM.exec_changeline 45 - def
OAI.Fifths.SM.bindline 53 - def
OAI.Fifths.SM.bindFstline 67 - def
OAI.Fifths.SM.bindSndline 68 - theorem
OAI.Fifths.SM.bind_stepFstline 71 - theorem
OAI.Fifths.SM.bind_stepSndline 79 - theorem
OAI.Fifths.SM.run_bindSndline 87 - theorem
OAI.Fifths.SM.run_bindline 94 - theorem
OAI.Fifths.SM.exec_bindline 104 - def
OAI.Fifths.SM.seqline 112 - theorem
OAI.Fifths.SM.exec_seqline 113 - def
OAI.Fifths.SM.loopline 121 - theorem
OAI.Fifths.SM.loop_stepline 131Source documentation
"Continue" label splices in a silent start move.
theorem loop_step (i : Inputs X J) (s : M.Cfg) : M.loop.step i s = match M.step i s with | Sum.inl none => Sum.inr (M.start, s.2) | Sum.inl (some y) => Sum.inl y | Sum.inr w => Sum.inr w := by …Mentions: OAI.Fifths.Inputs
- theorem
OAI.Fifths.SM.run_loopline 143Source comment
Keep the label general through inductiontheorem run_loop {i : Inputs X J} {s t w : M.Cfg} {B y v} (next : match v with | none => M.loop.Run i B (M.start, t.2) w y | some y' => y = y' ∧ t = w) (e : M.Run i B s t v) : M.loop.Run i B s w y := by …Mentions: OAI.Fifths.Inputs
- theorem
OAI.Fifths.SM.loop_stopline 159 - theorem
OAI.Fifths.SM.loop_continueline 164