%I #32 Mar 15 2022 12:31:36
%S 2,21222,221221222,2212221221222,22212212221221222,
%T 122122212212221221222,1222122122212212222112,21221222122122221122112,
%U 212221221222211221121221222,2212212222112211212212221221222,22122221122112122122212212221221222,222211221121221222122122212212221221222
%N Orbit of word "2" under the 3-shift tag system over the alphabet {1,2} defined in the Comments.
%C This tag system maps a word w over {1,2} to w', where if w begins with 1, w' is obtained by appending 2112 to w and deleting the first three letters, or if w begins with 2, w' is obtained by appending 1221222 to w and deleting the first three letters.
%C This is a 3-shift version of a 5-shift tag system studied in [De Mol, p. 307] (cf. A293945).
%H Michael S. Branicky, <a href="/A290741/b290741.txt">Table of n, a(n) for n = 1..328</a>
%H Liesbeth De Mol, <a href="http://www.clps.ugent.be/sites/default/files/publications/dissertation.pdf">Tracing unsolvability. A historical, mathematical and philosophical analysis with a special focus on tag systems</a>, Ph.D. Thesis, Universiteit Gent. See page 307.
%p with(StringTools);
%p f1:=proc(w) local L, t2, t1, ws, w2;
%p t1:="2112"; t2:="1221222"; ws:=convert(w, string);
%p if ws[1]="1" then w2:=Join([ws, t1], ""); else w2:=Join([ws, t2], ""); fi;
%p L:=length(w2); if L <= 3 then return(-1); fi;
%p w2[4..L]; end;
%p # and apply f1 repeatedly to "2"
%o (Python)
%o from itertools import islice
%o def agen(w="2"):
%o while True:
%o yield int(w)
%o w += ("2112" if w[0] == "1" else "1221222")
%o w = w[3:]
%o print(list(islice(agen(), 12))) # _Michael S. Branicky_, Mar 15 2022
%Y Cf. A284116, A290742, A293945.
%K nonn
%O 1,1
%A _N. J. A. Sloane_, Aug 11 2017
%E Definition corrected by _N. J. A. Sloane_, Oct 23 2017 (this is not De Mol's 5-shift tag system, which is described in A293945).