Linear conversion between raw and framed Boolean lists #
The values are unchanged: only the existing encodings differ. Framing followed by a finite-state transducer inserts a delimiter after each bit; a second transducer removes those delimiters. Both directions have linear time, workspace and output length, without a fold over growing words.
Main results #
Turing.MultiTapeTM.ComputableInDegree.bitsToList: raw bits to framed Boolean elements.Turing.MultiTapeTM.ComputableInDegree.listToBits: framed Boolean elements to raw bits.
Convert raw bits to the existing framed Boolean-list encoding in linear time and space.
Remove Boolean-element framing in linear time and space, leaving the list unchanged.