Iterated Straight-Line Programs
Gonzalo Navarro, Cristian Urbina
TL;DR
The paper introduces Iterated Straight-Line Programs (ISLPs), a new extension of SLPs that incorporates hierarchical iteration rules to compress repetitive texts beyond the δ bound while still supporting efficient access. It proves that, when balanced, ISLPs enable substring extraction in $O(\lambda+\log^2 n\log\log n)$ time, and extends balance techniques to a broad class of grammars (GSLPs). The work also provides a practical data-structure framework to navigate ISLPs in $O(g_{it})$ space with polylogarithmic query times, including detailed methods for maintaining and querying auxiliary polynomials and predecessor structures. Together, these results yield a compression mechanism that outperforms δ on some text families while enabling direct, polylog-time access, representing a significant advance in dictionary-compressed indexing for highly repetitive sequences.
Abstract
We explore an extension to straight-line programs (SLPs) that outperforms, for some text families, the measure $δ$ based on substring complexity, a lower bound for most measures and compressors exploiting repetitiveness (which are crucial in areas like Bioinformatics). The extension, called iterated SLPs (ISLPs), allows rules of the form $A \rightarrow Π_{i=k_1}^{k_2} B_1^{i^{c_1}}\cdots 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^2 n\log\log 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.
