equivalent regular expressions

equivalent regular expressions

Let

Σ

be an

alphabet

, and

E

⁢

(

Σ

)

be the set of all

regular expressions

over

Σ

. Two

expressions

p

,

q

are said to be

equivalent

, written

p

≡

q

, if they describe the same

language

:

L

⁢

(

p

)

=

L

⁢

(

q

)

.

This

relation

is clearly an

equivalence relation

on

E

⁢

(

Σ

)

, and therefore

partitions

E

⁢

(

Σ

)

into

equivalence classes

. Furthermore, if

∪

,

⋅

, and

*

are interpreted as

operations

on

E

⁢

(

Σ

)

, then it is clear that

≡

respects each of these operations, and so is a

congruence relation

on

E

⁢

(

Σ

)

.

Let

E

=

E

(

Σ

)

/

≡

, the set of equivalence classes. Members of

E

are denoted

[

p

]

. For simplicity, we drop the square brackets around

p

from now on.

The following

identities

(in

E

) are easily established: for any

p

,

q

,

r

∈

E

:

1.

p

∪

q

=

q

∪

p

2.

p

∪

p

=

p

3.

p

∪

∅

=

p

4.

p

∪

(

q

∪

r

)

=

(

p

∪

q

)

∪

r

5.

p

⁢

(

q

⁢

r

)

=

(

p

⁢

q

)

⁢

r

6.

p

⁢

(

q

∪

r

)

=

p

⁢

q

∪

p

⁢

r

7.

(

p

∪

q

)

⁢

r

=

p

⁢

r

∪

q

⁢

r

8.

∅

⁢

p

=

∅

9.

p

⁢

∅

=

∅

10.

∅

*

⁢

p

=

p

11.

p

⁢

∅

*

=

p

12.

p

⁢

p

*

=

p

*

⁢

p

13.

p

*

⁢

p

∪

∅

*

=

p

*

14.

(

p

∪

∅

*

)

*

=

p

*

Identities 1,3,4 establish that

E

is a

commutative monoid

with

∪

as the “

addition

”, and

∅

as the identity. Likewise, identities 5,10,11 establish that

E

is a monoid with

⋅

as the “

multiplication

”, and

∅

*

as the

identity element

. By identities 6 through 9,

E

with the two operations form a semiring (

∪

being the addition and

⋅

the multiplication). Lastly, identity 2 says that

E

is an idempotent semiring.

Now, as a idempotent semiring, the

binary relation

≤

such that

p

≤

q

iff

p

∪

q

=

q

(or

L

⁢

(

p

)

⊆

L

⁢

(

q

)

). It is not hard to see the following

implication

:

p

⁢

q

∪

r

≤

q

implies

p

*

⁢

r

≤

q

.

(1)

Assume the

left hand side

of the implication. In other words,

L

⁢

(

p

⁢

q

∪

r

)

⊆

L

⁢

(

q

)

. Then

L

⁢

(

p

)

⁢

L

⁢

(

q

)

∪

L

⁢

(

r

)

⊆

L

⁢

(

q

)

, which implies that

L

⁢

(

r

)

⊆

L

⁢

(

q

)

, and

L

⁢

(

p

)

⁢

L

⁢

(

q

)

⊆

L

⁢

(

q

)

, which, by

induction

, implies that

L

⁢

(

p

)

n

⁢

L

⁢

(

q

)

⊆

L

⁢

(

q

)

, and hence

L

⁢

(

p

)

+

⁢

L

⁢

(

q

)

⊆

L

⁢

(

q

)

. Now,

L

⁢

(

p

*

⁢

r

)

=

L

⁢

(

p

)

*

⁢

L

⁢

(

r

)

=

L

⁢

(

r

)

∪

L

⁢

(

p

)

+

⁢

L

⁢

(

r

)

⊆

L

⁢

(

q

)

∪

L

⁢

(

p

)

+

⁢

L

⁢

(

q

)

⊆

L

⁢

(

q

)

. Hence we arrive at the right hand side of the implication.

This implication, together with identities 12 and 13, show that

E

, with

binary operations

∪

,

⋅

and the unary operation

*

, is a

Kleene algebra

.

Remarks

.

1.

If we impose the condition

∅

*

≰

p

, the above implication can be written as

p

⁢

q

∪

r

=

q

implies

p

*

⁢

r

=

q

.

(2)

Suppose

x

∈

L

⁢

(

q

)

=

L

⁢

(

p

⁢

q

∪

r

)

=

L

⁢

(

p

)

⁢

L

⁢

(

q

)

∪

L

⁢

(

r

)

. We use induction on the length of

x

. If

|

x

|

=

0

, then

x

∈

L

⁢

(

r

)

⊆

L

⁢

(

p

)

*

⁢

L

⁢

(

r

)

, since

L

⁢

(

p

)

does not contain the

empty word

λ

. Suppose now that

|

x

|

>

0

. Then either

x

=

y

⁢

z

where

y

∈

L

⁢

(

p

)

and

z

∈

L

⁢

(

q

)

, or

x

∈

L

⁢

(

r

)

. In the former case, since

y

is not the empty word by the imposed condition,

z

is a

strictly

shorter word than

x

, which, by induction, is in

L

⁢

(

p

*

⁢

r

)

=

L

⁢

(

p

)

*

⁢

L

⁢

(

r

)

. As a result,

x

=

y

⁢

z

∈

L

⁢

(

p

)

⁢

L

⁢

(

p

)

*

⁢

L

⁢

(

r

)

⊆

L

⁢

(

p

)

*

⁢

L

⁢

(

r

)

. In the latter case, we have

x

∈

L

⁢

(

p

)

*

⁢

L

⁢

(

r

)

. In either case,

x

∈

L

⁢

(

p

*

⁢

r

)

, and the implication is proved.

2.

Regular expressions can be thought of as well-formed formulas in a

formal system

. A

sentence

is of the form

p

=

q

where

p

,

q

are wffs. An

interpretation

of the sentence

p

=

q

may be defined as the equation

L

⁢

(

p

)

=

L

⁢

(

q

)

. A sentence is valid if its interpretation is true. The list of identities above are all valid sentences, and can in fact be thought of as axioms of the system. There are two

rules of inferences

:

(a)

formal variable substitution, and

(b)

from

p

⁢

q

∪

r

=

q

infer

p

*

⁢

r

=

q

, given that

p

∪

∅

*

=

p

is not valid (implication 2 above).

The system is

complete

if all valid sentences may be derived from the axioms by rules of inferences. We have the following results:

–

If the set of axioms is finite, and (a) as the sole rule of inference, then the system is not complete.

–

However, the system is complete if the (finite) set of axioms above, and both rules (a) and (b) are used.

–

In fact, with (a) and (b), all the axioms we need are 1, 4, 5, 6, 7, 8, 10, 13, 14, and none can be removed to keep the system complete.

References

1

A. Salomaa,

Formal Languages

, Academic Press, New York (1973).

Title

equivalent regular expressions

Canonical

name

EquivalentRegularExpressions

Date of creation

2013-03-22 18:57:58

Last modified on

2013-03-22 18:57:58

Owner

CWoo (3771)

Last modified by

CWoo (3771)

Numerical id

10

Author

CWoo (3771)

Entry type

Definition

Classification

msc 20M35

Classification

msc 68Q70

Generated on Fri Feb 9 19:35:21 2018 by

LaTeXML