Очень хороший ответ был также дан здесь Michael Blondin :
Полугруппа $ S $ является $ R \ text {-trvial} $ тогда и только тогда, когда $ a: R: b \ Rightarrow a = b $ для всех $ a, b \ in S $, где $ R $ равно Грина отношение $ a: R: b \ Leftrightarrow aS ^ 1 = bS ^ 1 $. Множество $ R \ text {-trivial} $ моноидов образует многообразие, которое в конечном итоге может быть определено уравнениями $ (xy) ^ n x = (xy) ^ n $.
Язык - это $ R \ text {-trivial} $, если его синтаксический моноид равен $ R \ text {-trivial} $. Это разнообразие языков альтернативно определяется как совокупность всех языков, которые могут быть написаны как несвязное объединение языков в форме $ A_0 ^ * a_1 A_1 ^ * a_2 \ ldots a_n A_n ^ * $ где $ n \ geq 0 $, $ a_1, \ ldots, a_n \ in A $, $ A_i \ subseteq A \ setminus {a_ {i + 1}} $ для $ 0 \ leq i \ leq n-1 $. Другое определение, данное в [Pin] , с которым я не знаком, использует так называемую автоматизацию extensifs ("обширные автоматы"). Вы можете найти больше результатов об этих языках в [Pin] . Существует англоязычная версия этой книги, я никогда ее не читал, но я уверен, что вы можете найти такой же контент.
Для полноты картины приведем пример языка $ R \ text {-trivial} $: $ {b} ^ * a {a, c} ^ * b {a} ^ * b {a, b, c} ^ * \ cup {d} ^ * \ cup abcd $. Вы можете построить другие примеры с предыдущими определениями. Обратите внимание, что все свойства многообразий языков верны для языков $ R \ text {-trivial} $, поэтому они закрыты при объединении, пересечении и дополнении. Это должно помочь в построении более сложных языков.