Documentation

CslibFrontier.Computability.Machines.Turing.MultiTape.Encodings.Frame.Lookup

Lookup in a framed word followed by a suffix #

These pure list laws are shared by the unary take/drop and zip-transducer machine proofs. They depend only on the framing format, independently of either machine construction.

Main results #

theorem Turing.MultiTapeTM.getElem?_frame_append (u v : List Bool) {i : ℕ} (hi : i < u.length) :
(frame u ++ v)[2 * i]? = some true ∧ (frame u ++ v)[2 * i + 1]? = some u[i]

The marker and data bit of u[i] in a frame followed by any suffix.

The pairs of a frame have twice the length of the word.

After the pairs of a frame comes its terminator false.

Lookup beyond the frame reads the suffix, including out of bounds.

A frame followed by a suffix has length 2 |u| + 1 + |v|.