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