%I #4 Aug 22 2014 10:22:18
%S 0,3,6,12,20,30,36,68,92,116,132,156,180,228,260,308,356,420,452,516,
%T 564,612,676,708,756,804,836,900,948,996,1076,1188,1268,1316,1460,
%U 1572,1716,1764,1844,1956,2100,2212,2292,2340,2484,2740,2868,3060,3252,3380
%N Index sequence for limit-block extending A010060 (Thue-Morse sequence) with first term as initial block.
%C Suppose S = (s(0), s(1), s(2), ...) is an infinite sequence such that every finite block of consecutive terms occurs infinitely many times in S. (It is assumed that A010060 is such a sequence.) Let B = B(m,k) = (s(m), s(m+1),...s(m+k)) be such a block, where m >= 0 and k >= 0. Let m(1) be the least i > m such that (s(i), s(i+1),...,s(i+k)) = B(m,k), and put B(m(1),k+1) = (s(m(1)), s(m(1)+1),...s(m(1)+k+1)). Let m(2) be the least i > m(1) such that (s(i), s(i+1),...,s(i+k)) = B(m(1),k+1), and put B(m(2),k+2) = (s(m(2)), s(m(2)+1),...s(m(2)+k+2)). Continuing in this manner gives a sequence of blocks B'(n) = B(m(n),k+n), so that for n >= 0, B'(n+1) comes from B'(n) by suffixing a single term; thus the limit of B'(n) is defined; we call it the "limiting block extension of S with initial block B(m,k)", denoted by S^ in case the initial block is s(0).
%C The sequence (m(i)), where m(0) = 0, is the "index sequence for limit-block extending S with initial block B(m,k)", as in A246147.
%C Limiting block extensions are analogous to limit-reverse sequences, S*, defined at A245920. The essential difference is that S^ is formed by extending each new block one term to the right, whereas S* is formed by extending each new block one term to the left (and then reversing).
%e S = A010060, with B = (s(0)); that is, (m,k) = (0,0)
%e S = (0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,...)
%e B'(0) = (0)
%e B'(1) = (0,1)
%e B'(2) = (0,1,1)
%e B'(3) = (0,1,1,0)
%e B'(4) = (0,1,1,0,0)
%e B'(5) = (0,1,1,0,0,1)
%e S^ = (0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,...),
%e with index sequence (0,3,6,12,20,30,36,68,...)
%t seqPosition1[list_, seqtofind_] := If[Length[#] > Length[list], {}, Last[Last[Position[Partition[list, Length[#], 1], Flatten[{___, #, ___}], 1, 1]]]] &[seqtofind]; s = Nest[Flatten[# /. {0 -> {0, 1}, 1 -> {1, 0}}] &, {0}, 14]; (* A010060 *)
%t Take[s, 60]
%t t = {{0}}; p[0] = seqPosition1[s, Last[t]]; s = Drop[s, p[0]]; Off[Last::nolast]; n = 1; While[(p[n] = seqPosition1[s, Last[t]]) > 0, (AppendTo[t, Take[s, {#, # + Length[Last[t]]}]]; s = Drop[s, #]) &[p[n]]; n++]; On[Last::nolast]; Last[t] (* A246146 *)
%t -1 + Accumulate[Table[p[k], {k, 0, n - 1}]] (* A246147 *)
%Y Cf. A246146, A246127, A246140, A246142, A246144, A010060.
%K nonn
%O 0,2
%A _Clark Kimberling_ and _Peter J. C. Moses_, Aug 17 2014