REGULAR EXPRESSIONSazadeh/page11/page12/material/re.pdfA regular expression over alphabet Σ is...

Preview:

Citation preview

REGULAR EXPRESSIONS

DEFINITION

A regular expression over alphabet Σ is defined inductively by:

DEFINITION

A regular expression over alphabet Σ is defined inductively by:

Basis:

DEFINITION

A regular expression over alphabet Σ is defined inductively by:

• ∅ is a regular expression denoting the language {}.Basis:

DEFINITION

A regular expression over alphabet Σ is defined inductively by:

• ∅ is a regular expression denoting the language {}.

• � is a regular expression denoting the language {�}.

Basis:

DEFINITION

A regular expression over alphabet Σ is defined inductively by:

• ∅ is a regular expression denoting the language {}.

• � is a regular expression denoting the language {�}.

• a is a regular expression denoting the language {a}.

Basis:

DEFINITION

A regular expression over alphabet Σ is defined inductively by:

• ∅ is a regular expression denoting the language {}.

• � is a regular expression denoting the language {�}.

• a is a regular expression denoting the language {a}.

Basis:

Induction Step:

DEFINITION

A regular expression over alphabet Σ is defined inductively by:

• ∅ is a regular expression denoting the language {}.

• � is a regular expression denoting the language {�}.

• a is a regular expression denoting the language {a}.

• if r, s are regular expressions denoting languages R,S then:

– r + s is a regular expression denoting R ∪ S.

– rs is a regular expression denoting RS.

– r∗ is a regular expression denoting R∗.

Basis:

Induction Step:

EXAMPLES

L(r) = language denoted by regular expression r

EXAMPLES

L(r) = language denoted by regular expression r

(0 + 1)∗

EXAMPLES

L(r) = language denoted by regular expression r

(0 + 1)∗

∅0

EXAMPLES

L(r) = language denoted by regular expression r

(0 + 1)∗

∅0

0∗ + (0∗10∗10∗10∗)∗

EXAMPLES

L(r) = language denoted by regular expression r

(0 + 1)∗

∅0

0∗ + (0∗10∗10∗10∗)∗

(0 + �)(1 + 10)∗

EXAMPLES

L(r) = language denoted by regular expression r

(0 + 1)∗

∅0

0∗ + (0∗10∗10∗10∗)∗

(0 + �)(1 + 10)∗

(1 + 01)∗(0 + �)

REGULAR EXPRESSIONS VS REGULAR LANGUAGES

Theorem. Regular languages = {L : ∃r s.t. L = L(r)}.

Read the

proof

from

theno

tes!

USEFUL EQUALITIES

USEFUL EQUALITIES

r� = r

USEFUL EQUALITIES

r� = r

r∅ = ∅

USEFUL EQUALITIES

r + s = s + r

r� = r

r∅ = ∅

USEFUL EQUALITIES

r + s = s + r

(r + s) + t = r + (s + t)

r� = r

r∅ = ∅

USEFUL EQUALITIES

r + s = s + r

(r + s) + t = r + (s + t)

r(s + t) = rs + rt

r� = r

r∅ = ∅

USEFUL EQUALITIES

r + s = s + r

(r + s) + t = r + (s + t)

(rs)t = r(st)

r(s + t) = rs + rt

r� = r

r∅ = ∅

USEFUL EQUALITIES

r + s = s + r

(r + s) + t = r + (s + t)

(rs)t = r(st)

r(s + t) = rs + rt

r� = r

r∅ = ∅

(r∗)∗ = r∗

Recommended