2 LanguagesBasics
2 LanguagesBasics
= {a, b, c,K, z}
2
= {a, b}
Strings
a
ab
u = ab
abba
baba
aaabbbaabab
v = bbbaaa
w = abba
String Operations
w = a1a2 L an
abba
v = b1b2 Lbm
bbbaaa
Concatenation
abbabbbaaa
4
w = a1a2 L an
ababaaabbb
Reverse
w R = an L a2a1
bbbaaababa
5
String Length
w = a1a2 L an
Length:
w =n
Examples:
abba = 4
aa = 2
a =1
6
Length of Concatenation
uv = u + v
Example:
u = aab, u = 3
v = abaab, v = 5
uv = aababaab = 8
uv = u + v = 3 + 5 = 8
7
Empty String
A string with no letters:
Observations:
=0
w = w = w
abba = abba = abba
8
Substring
Substring of string:
a subsequence of consecutive characters
String
Substring
abbab
ab
abbab
abbab
abbab
abba
b
bbab
9
abbab
Prefixes
a
ab
abb
bb
abba
abbab
Suffixes
abbab
bb b
bbab
bab
abb
b
w = uv
prefix
suffix
10
Another Operation
wn = ww
w
L
1
42
4
3
n
Example:
D finiti n:
Definition:
(abba )2 = abbaabba
w0 =
(abba )0 =
11
The * Operation
12
The + Operation
Languages
A language is any subset of
Example:
= {a, b}
* = { , a, b, aa, ab, ba, bb, aaa,K}
L n u
Languages:
s:
{}
{a, aa, aab}
{ , abba, baba, aa, ab, aaaaaa}
14
Note that:
Sets
= { } {}
Set size
{} = = 0
Set size
{} = 1
String length
=0
15
Another Example
An infinite language
L = {a n b n : n 0}
ab
aabb
aaaaabbbbb
abb L
16
Operations on Languages
The usual set operations
L = * L
Reverse
Definition:
Examples:
LR = {w R : w L}
Concatenation
Definition:
Example:
Another Operation
Definition:
Ln = 1
LL2
L
L3
n
{a , bba , aaa }0 = {}
20
10
More Examples
L = {a nb n : n 0}
L2 = {a nb n a mb m : n, m 0}
aabbaaabbb L2
21
Star-Closure (Kleene *)
Definition:
L* = L0 U L1 U L2 L
Example:
a, bb,
{a, bb}* =
aa
abb
bba
bbbb
,
,
,
,
11
Positive Closure
Definition:
L+ = L1 U L2 U L
= L * { }
bb,
a,,bb
23
12