In mathematics, a factorisation of a free monoid is a sequence of subsets of words with the property that every word in the free monoid can be written as a concatenation of elements drawn from the subsets. The ChenâÂÂFoxâÂÂLyndon theorem states that the Lyndon words furnish a factorisation. The Schützenberger theorem relates the definition in terms of a multiplicative property to an additive property.
Let be the free monoid on an alphabet A. Let X<sub>i</sub> be a sequence of subsets of indexed by a totally ordered index set I. A factorisation of a word w in is an expression
with and . Some authors reverse the order of the inequalities.
A Lyndon word over a totally ordered alphabet A is a word that is lexicographically less than all its rotations. The ChenâÂÂFoxâÂÂLyndon theorem states that every string may be formed in a unique way by concatenating a lexicographically non-increasing sequence of Lyndon words. Hence taking to be the singleton set for each Lyndon word , with the index set L of Lyndon words ordered lexicographically, we obtain a factorisation of . Such a factorisation can be found in linear time and constant space by Duval's algorithm. The algorithm in Python code is:
The Hall set provides a factorization. Indeed, Lyndon words are a special case of Hall words. The article on Hall words provides a sketch of all of the mechanisms needed to establish a proof of this factorization.
A bisection of a free monoid is a factorisation with just two classes X<sub>0</sub>, X<sub>1</sub>.
Examples:
If X, Y are disjoint sets of non-empty words, then (X,Y) is a bisection of if and only if
As a consequence, for any partition P, Q of A<sup>+</sup> there is a unique bisection (X,Y) with X a subset of P and Y a subset of Q.
This theorem states that a sequence X<sub>i</sub> of subsets of forms a factorisation if and only if two of the following three statements hold: