Substring — where it appears
Named by 3 essays across 3 fields — each of them below, with the objects they name alongside it.
Every substring, in fewer states than substrings
A text of 512 characters has 129,416 distinct substrings. A machine that recognises every one of them, and nothing else, needs 831 states — and the bound it is under, 2n − 1, is reached exactly by a string one line long.
Documents that are not the same length
A separator per document costs a whole bit per character — on a generated collection whose alphabet is 21 symbols, where adding a few crosses 32. Real prose has 87 symbols and sits 41 short of the next power of two, so the same separators cost 0.04%.
The occurrences a join invents
Eight documents run together hold forty-nine eight-character windows that span a join, twenty-three of which occur in no document at all. Every index built over the concatenation reports them, and five essays of this collection paid that cost silently.
Named alongside it
The objects these essays reach for when they reach for this one.
AlphabetDocument listingIndex sizeMeasurementSeparatorAmortised analysisAutomatonAuxiliary spaceConcatenationControlCorpusDocument collection