Redundancy: a versatile notion
The notion of redundancies in texts, regarded as sequences of symbols, appear under various concepts in the literature of combinatorics on words and of algorithms on strings: repetitions, repeats, runs, covers, seeds and palindromes, for example. Fundamental elements along these concepts are spread in books by Lothaire (1997, 2002, 2005). This has been also illustrated in Chapter 4.
Squares and cubes (concatenations of 2 or 3 copies of the same non-empty word) are instances of repetitions whose exponent is at least 2 and have been studied for more than a century after the seminal work of Thue (1906b) who described infinite words containing none of them.
Repeats refer to less repetitive segments in text, that is, those segments having a rational exponent smaller than 2 (but larger than 1). The frontier between repetitions and repeats is indeed rather blurred in literature. The famous conjecture of Dejean (1972) refers mainly to repeats and provides the repetitive threshold of each alphabet size: it is the minimum of maximal exponents of factors occurring in infinite words drawn from the alphabet (also see Section 4.3). After several partial results, including the result of Dejean on the 3-letter alphabet, the conjecture has eventually been solved recently see (Carpi, 2007), (Rao, 2011) and (Currie and Rampersad, 2011). Also see Section 4.3.
Further works show that maximal-exponent repeats or repetitions occurring in infinite words complying with the threshold can also have a bounded length (Shallit, 2004). Their minimal number is known for alphabets of size 2 and 3 (Badkobeh, 2011; Badkobeh and Crochemore, 2010), introducing the notion of finite-repetition threshold attached to each alphabet size. The latter threshold is proved to be Dejean's threshold for larger alphabet sizes and the minimum number of Dejean's factors is studied in (Badkobeh et al., 2014).
The design of methods for computing all the occurrences of repetitions in a word has lead to several optimal algorithms by Crochemore (1981), by Apostolico and Preparata (1983) and by Main and Lorentz (1984), all running in O(nlogn) time on a word of length n. They have been extended to algorithms producing certain types of repetitions with rational exponent by Main (1989), or a unique occurrence for each repetition by Gusfield and Stoye (2004). These latter variants run in O(nloga) time on an alphabet of size a.