Professional Documents
Culture Documents
Languages
Languages
1
Language: a set of strings
Example:
Strings: cat, dog, house
Language: {cat, dog, house}
Alphabet: a, b, c, , z
2
Languages are used to describe
computation problems:
PRIMES {2,3,5,7,11,13,17,}
EVEN { 0,2,4,6, }
3
Alphabets and Strings
An alphabet is a set of symbols
Example Alphabet: a, b
A string is a sequence of
symbols from the alphabet
a
Example Strings u ab
ab
v bbbaaa
abba
w abba
aaabbbaabab
4
Decimal numbers alphabet { 0,1,2, ,9}
102345 567463386
5
Unary numbers alphabet {1}
6
String Operations
w a1a2 an abba
v b1b2 bm bbbaaa
Concatenation
7
w a1a2 an ababaaabbb
Reverse
R
w an a2a1 bbbaaababa
8
String Length
w a1a2 an
Length: w n
Examples: abba 4
aa 2
a 1
9
Length of Concatenation
uv u v
Example: u aab, u 3
v abaab, v 5
uv aababaab 8
uv u v 3 5 8
10
Empty String
A string with no letters is denoted: or
Observations: 0
w w w
11
Substring
Substring of string:
a subsequence of consecutive characters
String Substring
abbab ab
abbab abba
abbab b
abbab bbab
12
Prefix and Suffix
abbab
Prefixes Suffixes
abbab w uv
a bbab
prefix
ab bab
suffix
abb ab
abba b
abbab
13
Another Operation
n
w ww w
n
0
Definition: w
abba
0
14
The * Operation
* : the set of all possible strings from
alphabet
a, b
* , a, b, aa, ab, ba, bb, aaa, aab,
15
The + Operation
: the set of all possible strings from
alphabet except
a, b
* , a, b, aa, ab, ba, bb, aaa, aab,
*
a, b, aa, ab, ba, bb, aaa, aab,
16
Languages
A language over alphabet
is any subset of *
Examples:
a, b
* , a, b, aa, ab, ba, bb, aaa,
Language:
Language: a, aa, aab
Language: { , abba, baba, aa, ab, aaaaaa}
17
More Language Examples
Alphabet {a , b }
n n
An infinite language L {a b : n 0}
ab abb L
L
aabb
aaaaabbbbb
18
Prime numbers
PRIMES {2,3,5,7,11,13,17,}
19
Even and odd numbers
EVEN { 0,2,4,6, }
ODD {1,3,5,7, }
20
Unary Addition
Alphabet: {1,, }
Language:
ADDITION {x y z : x 1 , y 1 , z 1 ,
n m k
nm k}
Alphabet: {1, # }
Language:
SQUARES {x # y : x 1 , y 1 , m n }
n m 2
11#1111 SQUARES
111#1111 SQUARES
22
Note that:
Sets { } {}
Set size {} 0
R R
Definition: L {w : w L}
n n
L {a b : n 0}
R n n
L {b a : n 0}
25
Concatenation
26
Another Operation
Definition: n
L LL L
n
a, b a, b a, b a, b
3
a , bba , aaa 0
27
n n
L {a b : n 0}
2 n n m m
L {a b a b : n, m 0}
2
aabbaaabbb L
28
Star-Closure (Kleene *)
All strings that can be constructed from L
Definition: 0 1 2
L* L L L
Example:
,
a, bb,
a, bb *
aa , abb, bba , bbbb,
aaa, aabb, abba, abbbb,
29
Positive Closure
Definition: L L L
1 2
a, bb,
a, bb aa, abb, bba, bbbb,
aaa, aabb, abba, abbbb,
30