Lab 9

advertisement
Computer Science 290
Lab 9, Semigroups and Monoids
Name________________________________
Part 1: Numeric semigroups.
Consider the set Z12 with the operation * being multiplication mod 12: (Z12, *).
For example, 3 * 2 = 6, 3 * 4 = 0, 3 * 5 = 3, 8 * 8 = 4
(a) Prove that (Z12, *) is a commutative monoid.
1
Computer Science 290
Lab 9, Semigroups and Monoids
Name________________________________
(b) Find one submonoid of (Z12, *) that has more than two elements. Prove that it is a
submonoid.
2
Computer Science 290
Lab 9, Semigroups and Monoids
Name________________________________
(c) Find one subsemigroup of (Z12, *) that is not a monoid and has more than one element.
Prove that it is a subsemigroup but not a submonoid.
3
Computer Science 290
Lab 9, Semigroups and Monoids
Name________________________________
Part 2: String semigroups.
Let A = {a, b, c}.
Consider the subset of A* defined by T ={w| w in A* and the string “aa” is not a substring of w}.
Define the operation * on T by concatenation followed by replacing any substring “aa” with just
“a”.
For example abca * accb = abcaccb
(a) Prove that (T, *) is a monoid, or explain why it is not.
4
Computer Science 290
Lab 9, Semigroups and Monoids
Name________________________________
(b) Find one submonoid of (T, *) that has more than one element. Prove that it is a submonoid.
5
Computer Science 290
Lab 9, Semigroups and Monoids
Name________________________________
Let A = {a, b, c}.
Consider the subset of A* defined by Q={w| w in A* and the string “ab” is not a substring of w}.
Define the operation * on Q by concatenation followed by removing any substrings “ab”, until
there are none.
For example caa * bbccb = caabbccb = cabccb = cccb and a * b =  (the empty string).
(c) Prove that (Q, *) is a monoid, or explain why it is not.
6
Computer Science 290
Lab 9, Semigroups and Monoids
Name________________________________
Part 3: Homomorphisms and congruences
Consider the free monid on A = {a, b, c): (A*, ), where
is concatenation of strings.
(a) Define the relation ~ on A* by x ~ y if and only if x and y contain the same number of b’s.
Prove that ~ is congruence relation (e.g. prove that it is an equivalence and has the congruence
property).
7
Computer Science 290
Lab 9, Semigroups and Monoids
Name________________________________
(b) Define the function f: A* -> Z>=0 by f(x) is the number of times ‘b’ occurs in x. Prove that f
is a monoid homomorphism from (A*, ) to (Z>=0, +)
8
Computer Science 290
Lab 9, Semigroups and Monoids
Name________________________________
(c) For any x in A*, let [x] be the equivalence class containing x for the relation ~ as defined in
part a. Define [x] [y] = [ x y ]. Then explain why (A*/~, ) is a monoid, as outlined below.
(1) Why is
well-defined for any [x] and [y]?
(2) Why is
associative?
(3) What is the identity for (A*/~,
(d) Why is
(A*/~,
)
) and why?
isomorphic to (Z>=0, +)?
9
Download