Documentation

Complexitylib.Models.TuringMachine.UTM.Internal.DescLayout

Description-tape layout #

Positional facts about a tape holding a description string l = qsF □ qhF □ R (the takeField split): where the two header fields end, and what the cells of the entry region are. Everything is derived from a single normalization: the getElem?-with-blank-default view of l agrees with its canonical three-part layout even when trailing separators are missing (takeField treats end-of-list like — by design, matching the tape's blank fill).

These feed the seek phase (two scanRight_loop instances land the desc head at the entry region) and the match loop (entry-region cells).

getElem?-with-blank-default is insensitive to a trailing blank.

The canonical three-part layout of a description string.

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    Blank-default cell access agrees with the canonical layout, whether or not the trailing separators are present in l.

    Cell contents of a HoldsExact tape, in blank-default form.

    theorem Complexity.TM.UTMBody.descLayout_field1 {t : Tape} {l : List Γw} (h : t.HoldsExact l) (j : ) :
    j < (takeField l).1.lengtht.cells (1 + j) Γ.blank

    Field-1 cells are non-blank.

    The separator after field 1.

    theorem Complexity.TM.UTMBody.descLayout_field2 {t : Tape} {l : List Γw} (h : t.HoldsExact l) (j : ) :
    j < (takeField (takeField l).2).1.lengtht.cells ((takeField l).1.length + 2 + j) Γ.blank

    Field-2 cells are non-blank.

    The separator after field 2.

    Entry-region cells: cell |F1| + |F2| + 3 + j holds the j-th symbol of the entry region R := (takeField (takeField l).2).2 (blank beyond).

    theorem Complexity.TM.UTMBody.descLayout_field1_val {t : Tape} {l : List Γw} (h : t.HoldsExact l) (j : ) (hj : j < (takeField l).1.length) :
    t.cells (1 + j) = (takeField l).1[j].toΓ

    Field-1 cell values.

    theorem Complexity.TM.UTMBody.descLayout_field2_val {t : Tape} {l : List Γw} (h : t.HoldsExact l) (j : ) (hj : j < (takeField (takeField l).2).1.length) :
    t.cells ((takeField l).1.length + 2 + j) = (takeField (takeField l).2).1[j].toΓ

    Field-2 cell values.

    Field-2 cell values, blank-default form (covers positions beyond the field: the separator/beyond reads ).

    theorem Complexity.TM.UTMBody.exists_first_mismatch {A B : List Γw} (hA : sA, s Γw.blank) (hB : sB, s Γw.blank) (hne : A B) :

    First mismatch extraction: two different blank-free lists, viewed as blank-padded infinite sequences, have a least disagreement index; below it they agree on non-blank symbols, and at it the hc1-style mismatch conditions hold.