Iterated Straight-Line Programs
Gonzalo Navarro and Cristian Urbina
We explore an extension to straight-line programs (SLPs) that breaks, for some
text families, the lower bound δ based on substring complexity. The
extension, called iterated SLPs (ISLPs), allows rules of the form A ->
Prod_{i=k_1}^{k_2} B_1^{i^{c_1}} ... B_t^{i^{c_t}}, for which we show how to extract any
substring of length λ, from the represented text T[1..n], in
time O(λ + log^3 n). This is the first compressed representation for repetitive texts breaking δ while, at the same time, supporting direct access to arbitrary text symbols in polylogarithmic time. As a byproduct, we extend Ganardi et al.'s technique to balance any SLP (so it has a derivation tree of logarithmic height), to a wide generalization of SLPs including ISLPs.