OFFSET
1,2
COMMENTS
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 A004539 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).
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 A246128. If the sequence S is given with offset 1, then the role played by s(0) in the above definitions is played by s(1) instead, as in the case of A246142 and A246143.
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).
EXAMPLE
S = A004539, with B = (s(1)); that is, (m,k) = (1,0)
S = (1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, ...)
B'(0) = (1)
B'(1) = (1,1)
B'(2) = (1,1,1)
B'(3) = (1,1,1,0)
B'(4) = (1,1,1,0,0)
B'(5) = (1,1,1,0,0,1)
S^ = (1,1,1,0,0,1,1,0,1,0,0,1,1,0,...),
with index sequence (1,3,17,18,35,45,239,341,...)
MATHEMATICA
seqPosition1[list_, seqtofind_] := If[Length[#] > Length[list], {}, Last[Last[Position[Partition[list, Length[#], 1], Flatten[{___, #, ___}], 1, 1]]]] &[seqtofind]; s = RealDigits[Sqrt[2], 2, 10000000][[1]]; Take[s, 60]
t = {{1}}; 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] (*A246142*)
Accumulate[Table[p[k], {k, 0, n - 1}]] (*A246143*)
CROSSREFS
KEYWORD
nonn,base,more
AUTHOR
Clark Kimberling and Peter J. C. Moses, Aug 17 2014
STATUS
approved