Star-free language

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

A regular language is said to be star-free if it can be described by a regular expression constructed from the letters of the alphabet, the empty set symbol, all boolean operators – including complementation – and concatenation but no Kleene star.[1] For instance, the language of words over the alphabet \{a,\,b\} that do not have consecutive a's can be defined by (\emptyset^c aa \emptyset^c)^c, where X^c denotes the complement of a subset X of \{a,\,b\}^*. The condition is equivalent to having generalized star height zero.

An example of a regular language which is not star-free is \{(aa)^n \mid n \geq 0\}.[2]

Marcel-Paul Schützenberger characterized star-free languages as those with aperiodic syntactic monoids.[3][4] They can also be characterized logically as languages definable in FO[<], the first-order logic over the natural numbers with the less-than relation,[5] as the counter-free languages[6] and as languages definable in linear temporal logic.[7]

All star-free languages are in uniform AC0.

See also

References

  1. Lawson (2004) p.235
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lawson (2004) p.262
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.


<templatestyles src="Asbox/styles.css"></templatestyles>