Documentation

Complexitylib.Models.TuringMachine.Experimental.BinaryRoutine.Internal

Proof-carrying binary stream routines -- proof internals #

The common proof layer converts canonical value vectors into literal tape frames, lifts frame-oriented arithmetic contracts through an arbitrary output accumulator, and composes routines across the parked seqTM phase boundary.

theorem Complexity.BinaryRoutine.workTapes_update_internal {n : } (values : BinaryValues n) (idx : Fin n) (value : ) :
workTapes (Function.update values idx value) = Function.update (workTapes values) idx (natTape value)
theorem Complexity.BinaryRoutine.Sound.seq_internal {n : } {first second : BinaryRoutine n} (hfirst : first.Sound) (hsecond : second.Sound) :
(first.seq second).Sound
theorem Complexity.BinaryRoutine.Sound.restrict_internal {n : } {routine : BinaryRoutine n} (hsound : routine.Sound) (requires : BinaryValues nProp) (hrequires : ∀ (values : BinaryValues n), requires valuesroutine.requires values) :
(routine.restrict requires).Sound
theorem Complexity.BinaryRoutine.binaryCopy_sound_internal {n : } (srcIdx dstIdx counterIdx : Fin n) :
(binaryCopy srcIdx dstIdx counterIdx).Sound
theorem Complexity.BinaryRoutine.emitRawGateStep_sound_internal {n : } (op : AndOrOp) (negated₀ negated₁ : Bool) (emitCounterIdx availableIdx input₀Idx input₁Idx : Fin n) :
(emitRawGateStep op negated₀ negated₁ emitCounterIdx availableIdx input₀Idx input₁Idx).Sound