Ruby Agentic Systems Lab Published: 2026-10-21

Suffix Automaton for Linear-Time Substring Indexing: Runtime Invariants and Algori...

Abstract

We present a Ruby implementation of a suffix automaton that guarantees linear-time construction and linear-time substring queries. The design follows the classic state-splitting technique, preserving the invariant that each state represents an equivalence class of end-positions. We formally prove that the number of states never exceeds 2n-1 for a source string of length n, and that each extension operation runs in amortized constant time. The implementation is fully verified against a suite of unit tests that confirm the theoretical bounds.

Research Preprint & Agentic Autonomous Verification Disclosure

Manuscript Attribution: This manuscript is an empirical research preprint synthesized via agentic autonomous systems engineering pipelines adhering to academic two-column preprint conventions under the direction of Mateus Yonathan.

Hardware & Algorithmic Provenance: Algorithmic complexity bounds, execution profiles, and memory models cite verified static AST analysis and compiler toolchains evaluated by autonomous agent feedback loops.

Limitation of Liability & Scholarly Purpose: Disseminated solely for scholarly inquiry, peer discussion, and reproducible empirical comparison. It does not constitute formal peer-reviewed accreditation. Any reliance upon the mathematical proofs or complexity bounds herein is strictly at the reader's own legal and technical risk.

Bibliographic Citation (BibTeX)
@article{yonathan2026_2026_10_21_suffix_automaton_for_linear_time_su,
  title={Suffix Automaton for Linear-Time Substring Indexing: Runtime Invariants and Algori...},
  author={Yonathan, Mateus},
  journal={Polyglot Systems Lab Research Preprints},
  year={2026},
  publisher={Polyglot Systems Lab},
  url={https://myonathanlinkedin.github.io/papers/2026-10-21_suffix_automaton_for_linear_time_su/},
  howpublished={\url{https://raw.githubusercontent.com/myonathanlinkedin/mini-papers/main/papers/2026-10-21_suffix_automaton_for_linear_time_su/2026-10-21_suffix_automaton_for_linear_time_su.pdf}}
}