Regular Language: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Mon Jed Liu
No edit summary
imported>Howard C. Berkowitz
(Linked compllement to disambiguation)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{subpages}}
{{subpages}}


In computing theory, a regular [[language]] is one that is accepted by a [[finite automaton]].
In computing theory, a '''regular [[language]]''' is one that is accepted by a [[finite automaton]].


== Equivalent Characterizations ==
== Equivalent Characterizations ==


* <math>A</math> is a regular language.
* <math>A</math> is a regular language.
* <math>A</math> is accepted by a [[deterministic finite automaton]].
* <math>A</math> is accepted by a [[deterministic finite automaton]](DFA).
* <math>A</math> is accepted by a [[non-deterministic finite automaton]].
* <math>A</math> is accepted by an [[alternating finite automaton]](AFA).
* <math>A</math> can be described by a [[regular expression]].
* <math>A</math> is accepted by a [[non-deterministic finite automaton]](NFA).
* <math>A</math> is accepted by a [[generalized non-deterministic finite automaton]](GNFA).
* <math>A</math> can be described by a [[regular expression]](RE).


== Closure Properties ==
== Closure Properties ==
Line 14: Line 16:
Suppose <math>A, B \subseteq \Sigma^*</math> are regular languages.  Then the following languages are also regular.
Suppose <math>A, B \subseteq \Sigma^*</math> are regular languages.  Then the following languages are also regular.


* <math>A \cup B = \{x ~|~ x \in A</math> or <math>x \in B\}</math> ([[union]])
* <math>A \cup B = \{x ~|~ x \in A\ \mathrm{or}\ x \in B\}</math> ([[union]])
* <math>A \cap B = \{x ~|~ x \in A</math> and <math>x \in B\}</math> ([[intersection]])
* <math>A \cap B = \{x ~|~ x \in A\ \mathrm{and}\ x \in B\}</math> ([[intersection]])
* <math>\bar{A} = \{x \in \Sigma^* ~|~ x \not\in A\}</math> ([[complement]])
* <math>\bar{A} = \{x \in \Sigma^* ~|~ x \not\in A\}</math> ([[complement (computer language)]])
* <math>AB = \{xy ~|~ x \in A</math> and <math>y \in B\}</math> ([[concatenation]])
* <math>AB = \{xy ~|~ x \in A\ \mathrm{and}\ y \in B\}</math> ([[concatenation]])
* <math>A^* = \{x_1 x_2 \ldots x_n ~|~ n \geq 0</math> and <math>x_i \in A,~1 \leq i \leq n\}</math> ([[asterate]])
* <math>A^* = \{x_1 x_2 \ldots x_n ~|~ n \geq 0\ \mathrm{and}\ x_i \in A,~1 \leq i \leq n\}</math> ([[asterate]])
* <math>A - B = \{x - y ~|~ x \in A\ \mathrm{and}\ y \in B\}</math> ([[difference]])
* <math>A^R = \{x^R|~ x \in A\ \}</math> ([[reversal]])


Regular languages are also closed under homomorphic images and preimages.  Suppose <math>C \subseteq \Gamma^*</math> is a regular language and <math>h : \Sigma^* \to \Gamma^*</math> is a [[string homomorphism]].  Then the following languages are regular.
Regular languages are also closed under homomorphic images and preimages.  Suppose <math>C \subseteq \Gamma^*</math> is a regular language and <math>h : \Sigma^* \to \Gamma^*</math> is a [[string homomorphism]].  Then the following languages are regular.

Latest revision as of 23:28, 22 October 2008

This article is a stub and thus not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.

In computing theory, a regular language is one that is accepted by a finite automaton.

Equivalent Characterizations

Closure Properties

Suppose are regular languages. Then the following languages are also regular.

  • (union)
  • (intersection)
  • (complement (computer language))
  • (concatenation)
  • (asterate)
  • (difference)
  • (reversal)

Regular languages are also closed under homomorphic images and preimages. Suppose is a regular language and is a string homomorphism. Then the following languages are regular.

  • (homomorphic image)
  • (homomorphic preimage)