definite language

definite language

A

language

is

definite

if the determination of whether a word belongs to the language completely depends on its suffix of a fixed length. Formally,

Definition

. Let

L

be a language over an

alphabet

Σ

. Then

L

is

definite

if there is a non-negative integer

k

such that for any word

u

over

Σ

with

|

u

|

≥

k

, its suffix

v

of length

k

is in

L

iff

u

is in

L

.

Note that if

k

=

0

, then

L

is either

Σ

*

or

∅

.

A

definite language

has the following

characterization

:

Proposition 1

.

L

is definite iff there are finite languages

L

1

and

L

2

such that

L

=

L

1

∪

Σ

*

⁢

L

2

.

Proof.

Suppose first that

L

is definite. Let

L

1

be the subset of

L

containing all words with length less than

k

and

L

2

the subset of

L

containing all words of length

k

. The case when

k

=

0

is already mentioned in the note above. If

k

=

1

,

L

1

is either

{

λ

}

or

∅

, depending on whether or not

λ

∈

L

. In any case,

L

1

and

L

2

are both finite. We verify that

L

=

L

1

∪

Σ

*

⁢

L

2

. If

u

∈

L

and

u

has length less than

k

, then

u

∈

L

1

. Otherwise, it has length at least

k

. By the definiteness of

L

, its suffix

v

of length

k

is in

L

, and thus is in

L

2

. Therefore

u

∈

Σ

*

⁢

L

2

as a result. This shows that

L

⊆

L

1

∪

Σ

*

⁢

L

2

. On the other hand, suppose

u

∈

L

1

∪

Σ

*

⁢

L

2

. If

|

u

|

<

k

, then

u

∈

L

1

⊆

L

. If

|

u

|

≥

k

, write

u

=

w

⁢

v

where

v

is the suffix with length

k

. Then

v

∈

L

2

, which means that

u

∈

L

since

L

is definite.

Now suppose

L

=

L

1

∪

Σ

*

⁢

L

2

with

L

1

,

L

2

finite. Let

k

be the maximum of

lengths of words

in

L

1

∪

L

2

, plus

1

.

k

is

well-defined

since

L

1

∪

L

2

is finite. Suppose

u

is a word in

Σ

*

with

|

u

|

≥

k

. Then

u

∉

L

1

. Let

v

be the suffix of

u

with

|

v

|

=

k

. Then

v

∉

L

1

likewise. If

v

∈

L

, then

v

∈

Σ

*

⁢

L

2

and hence

u

∈

Σ

*

⁢

L

2

as well. If

u

∈

L

, then

u

∈

Σ

*

⁢

L

2

, so that

u

has a suffix

w

∈

L

2

. Since

|

w

|

<

k

,

w

is also a suffix of

v

, and therefore

v

∈

Σ

*

⁢

L

2

⊆

L

as a result. This shows that

L

is definite.
∎

From this characterization, we see that finite languages are special cases of definite languages. We also see that

Corollary 1

.

Every definite language is a

regular language

.

With regard to the closure properties of definite languages, we have the following: let

𝒟

be the family of definite languages, then

𝒟

is

closed under

union and

complementation

, and therefore any Boolean operations. However,

𝒟

is not closed under

concatenation

,

Kleene star

, and

reversal

.

Remark

. In fact, every definite language is

locally testable

. The

converse

, however, is not true.

References

1

A. Salomaa,

Formal Languages

, Academic Press, New York (1973).

Title

definite language

Canonical

name

DefiniteLanguage

Date of creation

2013-03-22 18:58:57

Last modified on

2013-03-22 18:58:57

Owner

CWoo (3771)

Last modified by

CWoo (3771)

Numerical id

10

Author

CWoo (3771)

Entry type

Definition

Classification

msc 68Q42

Classification

msc 68Q45

Generated on Sat Feb 10 12:43:13 2018 by

LaTeXML