OAI/Computability/FiniteCompiler/Machines.lean
115 declarations, 0 contain sorry, 0 declared as axioms
Stack, binary, TM2, and TM0 realizations of partial recursive programs.
- def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.swapline 13 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.swap_swapline 15 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.swap_injectiveline 16 - abbrev
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.Symbolline 19 - abbrev
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.Storeline 20 - inductive
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.Labelline 21 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.projline 27 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.storeline 29 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.proj_storeline 30 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.embedStacksline 32 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.embedStacks_swapline 33 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.embedStacks_updateline 35 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.stmtline 44 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.cfgline 54 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.stmt_correctline 58 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.step_correctline 90 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.reaches_correctline 101 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.path_casesline 109Source documentation
Until the original interpreter halts, the wrapper cannot escape its run sector. This is the divergence/soundness half, not only a terminating test.
theorem path_cases {c : TM2.Cfg (fun _ : K' => Γ') Λ (Option Γ')} {z : TM2.Cfg (fun _ : K' => Symbol S) (Label S Λ) (Store S)} (h : TM2.Reaches W (cfg c) z) : (∃ d, TM2.Reaches M c d ∧ z = cfg d) ∨ (∃ d, TM2.Reaches M c d ∧ d.l = none ∧ TM2.Reaches W (cfg d) z) := by …Mentions: OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.Symbol, OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.Label, OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.Store, OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackLift.cfg
- def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.BinaryCode.valueline 136 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.BinaryCode.value_posline 142 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.BinaryCode.value_numline 148 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.BinaryCode.value_natline 149 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.BinaryCode.trNat_injectiveline 150 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.BinaryCode.blockline 154 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.BinaryCode.delimiter_cancelline 156 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.BinaryCode.block_cancelline 181 - abbrev
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.Stmtline 194 - abbrev
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.Configline 195 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.tracksline 197 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.tracks_mainline 203 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.tracks_revline 205 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.tracks_update_mainline 207 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.tracks_update_revline 211 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.postCfgline 215 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.rejectline 216 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.finishline 217 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.decoderline 222 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.decoder_correctline 231 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.decoder_blockline 267 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.pushListline 275 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.pushList_correctline 280 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.machineline 292 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.preCfgline 306 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.haltCfgline 307 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.runCfgline 308 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.pre_consline 313 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.pre_nilline 327 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.numbersline 335 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.trList_appendline 338 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.pre_completeline 344 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.post_consline 355 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.post_nilline 372 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.post_completeline 378 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.baseCfgline 388 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.lift_base_someline 392 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.lift_base_noneline 398 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.eval_runline 405 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.RawTM.eval_preline 447 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.FiniteTM2.restrictStmtline 468 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.FiniteTM2.embedCfgline 479 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.FiniteTM2.embed_stepAuxline 484 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.FiniteTM2.machineline 498 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.FiniteTM2.embed_stepline 502 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.FiniteTM2.respectsline 511 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.FiniteTM2.eval_embedline 526 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.FiniteTM2.initialline 532 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.FiniteTM2.embed_initialline 536 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.FiniteTM2.eval_initialline 540 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.Numerical.exists_evaluatorline 554 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.Numerical.exists_finite_evaluatorline 562 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.eval_compline 576 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.fix_eval_fwdline 581 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.prefix₂line 590 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.prefix₂_evalline 591 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.binary_codeline 594 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.testline 602 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.test_evalline 603 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.oneline 609 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.one_evalline 610 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.encodeStepline 612 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.encoderline 615 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.encodeStep_nilline 617 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.encodeStep_consline 621 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.encode_loopline 628 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.encoder_evalline 649 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.decodeStepline 655 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.decoderline 658 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.decodeStep_zeroline 659 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.decodeStep_consline 663 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.decoder_evalline 671 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.unary_codeline 694 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.ListCode.exists_wordCodeline 703 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.FiniteTM2.embedCfg_injectiveline 750 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.part_map_injectiveline 763 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.WordEvaluator.exists_codeline 781 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.WordEvaluator.exists_finiteline 797 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.WordEvaluator.boundline 817 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.WordEvaluator.le_boundline 818 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.WordEvaluator.exists_rawline 821 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.FiniteTM0.machineline 842 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.FiniteTM0.embedline 845 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.FiniteTM0.embed_injectiveline 848 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.FiniteTM0.embed_stepline 857 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.FiniteTM0.respectsline 865 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.FiniteTM0.eval_embedline 880 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackTape.sliceline 890 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackTape.stackListline 891 - def
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackTape.tapeline 892 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackTape.tracks_projline 896 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackTape.trCfgline 902 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackTape.stackList_uniqueline 907 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackTape.trCfg_uniqueline 917 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackTape.eval_tapeline 926 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.StackTape.eval_postline 949 - theorem
OAI.FiniteAlgebraicEnvelopes.MachineRealization.WordEvaluator.exists_tapeline 964