4.5 Exercises#

4.5.1 Basics#

Exercise 4.1#

Consider the lightswitch group shown in Figure 2.8. Let \(L\) stand for the action of flipping the left switch and \(R\) stand for the action of flipping the right switch.


(a) Which of the following equations are true and which are false in this group?

\(LRRRR = RRL\)

True, cancel all the \(R\).

\(LR = RLRLRL\)

True, because the group is commutative.

\(L = RR\)

False

\(R^8 = R^{100}\)

True


(b) Let N stand for the non-action (leaving the switches untouched). Which of the following equations are true?

\({(LNR)}^2 = LNR\)

False

\(NN = N\)

True

\(RL = N\)

False

\(R^4 = N\)

True

\({(LNR)}^3 = R^3 L^3 \)

True

\(LRLR = N\)

True

(c) What is the smallest positive power of R that equals N ?

\(R^2\)

(d) What is the smallest positive power of L that equals N ?

\(L^2\)

(e) What is the smallest positive power of RL that equals N ?

\({(RL)}^2\)

(f) What is the smallest positive power of LR that equals N?

\({(LR)}^2\)

Exercise 4.2#

(a) Apply the transformation in Definition 4.1 to the lightswitch Cayley diagram in Figure 2.8.

x

(b) Create a multiplication table for the lightswitch group.

Weā€™ll use a permutation library to avoid doing too much manual work on some of these questions. See Permutations - SymPy documentation and Permutations and Symmetric groups Ā· AbstractAlgebra.jl for two options.

import numpy as np

from sympy.combinatorics import Permutation

e = Permutation([0, 1, 2, 3])
l = Permutation([2, 1, 0, 3]) # Left light switch
r = Permutation([0, 3, 2, 1]) # Right light switch

permutation = {
    "E": e,
    "L": l,
    "R": r,
    "LR": l*r,
}
action = {v: k for k, v in permutation.items()}

x = np.array(list(permutation.values()))
rank_v = np.vectorize(action.get)
actions = rank_v(x)

See also Broadcasting ā€” NumPy Manual.

import pandas as pd

pd.DataFrame(rank_v(x[...,np.newaxis] * x), index=actions, columns=actions)
E L R LR
E E L R LR
L L E LR R
R R LR E L
LR LR R L E

Exercise 4.3#

Each part below describes a set with a binary operation on it. For each one, determine whether it is commutative and whether it is associative.

(a) the addition operation on the set of all whole numbers

Commutative, associative

(b) the subtraction operation on the set of all whole numbers

Not commutative, not associative

(c) the multiplication operation on the set of positive real numbers

Commutative, associative

(d) the division operation on the set of positive real numbers

Not commutative, not associative (try 2/3/2)

(e) the exponentiation operation on the set of positive whole numbers (that is, the operation written \(a^b\), but typed a^b on many calculators)

Not commutative, not associative (try 2^3^2)

4.5.2 Creating tables#

Exercise 4.4 (āš )#

The Cayley diagrams for two groups are shown here, the cyclic group \(C_5\) on the left and the Quaternion group \(Q_4\) on the right.

x x

See comments in the errata. The authorā€™s replacement drawing strangely uses red for \(j\) and green for \(i\), which seems odd given that red is normally the first color in all these examples. Weā€™ll using a variation on File:Cayley graph Q8.svg here and going forward, with green replaced with blue.

(a) The red arrow in the diagram for \(C_5\) represents multiplication by what element?

\(a\)

(b) What is \(a^3 Ā· a\) in \(C_5\)?

\(a^4\)

(c) What is \(a^3 Ā· a Ā· a\) in \(C_5\)?

\(e\)

(d) If 1 is the identity element, then what do red arrows in the diagram for \(Q_4\) represent? What do the blue arrows represent?

\(i\) and \(j\)

(e) What is \(i^2\)? What is \(jĀ·i\)?

\(-1\) and \(-k\)

(f) What is \(iĀ·jĀ·j\)?

\(-i\)

Exercise 4.5 (šŸ“‘)#

Using the Cayley diagrams from Exercise 4.4, answer the following questions.

(a) How do you use the diagram of \(C_5\) to multiply \(xĀ·a^2\) in \(C_5\), for any element \(x\)?

First you go to \(x\), then you follow two red arrows.

(b) How do you use the diagram of \(Q_4\) to multiply \(xĀ·k\) in \(Q_4\), for any element \(x\)?

First you go to \(x\), then you follow a red and then a blue arrow (because \(k\) is equivalent to \(ij\)).

The authorā€™s answer, based on the original/incorrect quaternion group drawing:

(a) Beginning at the element x in the diagram, follow a red arrow twice. Each red arrow represents one multiplication on the right by a, so this computes \(x Ā· a Ā· a\), or \(x Ā· a^2\).

(b) From Exercise 4.4 we learned that \(k = j Ā· i\), which is performed by following the \(j\) arrow (blue) and then the \(i\) arrow (red). So to multiply \(x Ā· k\), begin at the node for \(x\) and follow a blue arrow and then a red one.

Exercise 4.6 (āš )#

Create a multiplication table for each of the following Cayley diagrams.

(a) \(C_5\), as shown on the left of Exercise 4.4. Use the template given here.

import numpy as np

from sympy.combinatorics import Permutation

e = Permutation([0, 1, 2, 3, 4])
a = Permutation([4, 0, 1, 2, 3])

permutation = {
    "e": e,
    "a": a,
    "aĀ²": a*a,
    "aĀ³": a*a*a,
    "aā“": a*a*a*a,
}
action = {v: k for k, v in permutation.items()}

x = np.array(list(permutation.values()))
rank_v = np.vectorize(action.get)
actions = rank_v(x)
import pandas as pd

pd.DataFrame(rank_v(x[...,np.newaxis] * x), index=actions, columns=actions)
e a aĀ² aĀ³ aā“
e e a aĀ² aĀ³ aā“
a a aĀ² aĀ³ aā“ e
aĀ² aĀ² aĀ³ aā“ e a
aĀ³ aĀ³ aā“ e a aĀ²
aā“ aā“ e a aĀ² aĀ³

(b) \(Q_4\), the quaternion group with eight elements, as shown on the right of Exercise 4.4. Use the template given here.

See the multiplication tables in either Groupprops - Quaternion group or Quaternion group.

(c) \(A_4\), the alternating group with twelve elements:

Based on the errata weā€™ll inspect a different version of \(A_4\):

x

Itā€™s not clear how the author intended readers to do this without a library; for a student to manually fill this 144-entry table would not be a good use of time.

from sympy.combinatorics.named_groups import AlternatingGroup

G = AlternatingGroup(4)
permutations = list(G.generate_dimino())

indexes = {perm: idx for idx, perm in enumerate(permutations)}
indexes
{Permutation(3): 0,
 Permutation(3)(0, 1, 2): 1,
 Permutation(3)(0, 2, 1): 2,
 Permutation(1, 2, 3): 3,
 Permutation(0, 1)(2, 3): 4,
 Permutation(0, 2, 3): 5,
 Permutation(0, 2)(1, 3): 6,
 Permutation(1, 3, 2): 7,
 Permutation(0, 1, 3): 8,
 Permutation(0, 3, 1): 9,
 Permutation(0, 3, 2): 10,
 Permutation(0, 3)(1, 2): 11}

How do we relate these permutations to the names the author would like us to use? To start weā€™ll pick out some ā€œnaturalā€ permutations to use for the generators, though these choices are somewhat arbitrary:

permutation = {
    "e": permutations[0],
    "x": permutations[4],
    "z": permutations[6],
    "a": permutations[1],
}

From the generators we should be able to define all other actions:

permutation["y"] = permutation["x"]*permutation["z"]
permutation["aĀ²"] = permutation["a"]*permutation["a"]
permutation["b"] = permutation["x"]*permutation["a"]
permutation["bĀ²"] = permutation["b"]*permutation["b"]
permutation["c"] = permutation["z"]*permutation["a"]
permutation["cĀ²"] = permutation["c"]*permutation["c"]
permutation["d"] = permutation["y"]*permutation["a"]
permutation["dĀ²"] = permutation["d"]*permutation["d"]
permutation
{'e': Permutation(3),
 'x': Permutation(0, 1)(2, 3),
 'z': Permutation(0, 2)(1, 3),
 'a': Permutation(3)(0, 1, 2),
 'y': Permutation(0, 3)(1, 2),
 'aĀ²': Permutation(3)(0, 2, 1),
 'b': Permutation(0, 2, 3),
 'bĀ²': Permutation(0, 3, 2),
 'c': Permutation(1, 3, 2),
 'cĀ²': Permutation(1, 2, 3),
 'd': Permutation(0, 3, 1),
 'dĀ²': Permutation(0, 1, 3)}
import numpy as np

action = {v: k for k, v in permutation.items()}
name_v = np.vectorize(action.get)
x = np.array(list(permutation.values()))
import pandas as pd
import seaborn as sns

from sympy.combinatorics import Permutation

y = x[...,np.newaxis] * x
df = pd.DataFrame(name_v(y), index=name_v(x), columns=name_v(x))

index_v = np.vectorize(indexes.get)
cm = sns.color_palette("Paired", as_cmap=True)
df.style.background_gradient(axis=None, cmap=cm, gmap=index_v(y))
  e x z a y aĀ² b bĀ² c cĀ² d dĀ²
e e x z a y aĀ² b bĀ² c cĀ² d dĀ²
x x e y b z cĀ² a dĀ² d aĀ² c bĀ²
z z y e c x dĀ² d cĀ² a bĀ² b aĀ²
a a c d aĀ² b e dĀ² x bĀ² z cĀ² y
y y z x d e bĀ² c aĀ² b dĀ² a cĀ²
aĀ² aĀ² bĀ² cĀ² e dĀ² a y c x d z b
b b d c cĀ² a x bĀ² e dĀ² y aĀ² z
bĀ² bĀ² aĀ² dĀ² y cĀ² d e b z a x c
c c a b dĀ² d z aĀ² y cĀ² e bĀ² x
cĀ² cĀ² dĀ² aĀ² x bĀ² b z d e c y a
d d b a bĀ² c y cĀ² z aĀ² x dĀ² e
dĀ² dĀ² cĀ² bĀ² z aĀ² c x a y b e d

Exercise 4.7#

It is possible to suggest the full multiplication table for an infinite group by showing just part of it. Fill in the following partial table for the operation of addition on the set of all whole numbers; the ellipses indicate the table continues infinitely in all directions.

x

Exercise 4.8#

Exercises 2.4 through 2.8 of Chapter 2 asked you to draw Cayley diagrams for three groups. Use the diagrams you drew to make multiplication tables for those same groups. Note that if your diagram is not yet a diagram of actions, you may need to apply the transformation in Definition 4.1.

Here are possible answers for Exercise 2.4 through Exercise 2.7; see the next question for Exercise 2.8 (which is \(D_4\)).

x

Exercise 4.9#

Exercises 2.18 and 2.19 of Chapter 2 asked you to find the pattern describing the sequence of Cayley diagrams for the ā€œn-gon puzzle.ā€ I mentioned in that exercise that the family of groups describing such puzzles are called the dihedral groups. You will study them in detail in Chapter 5, and this exercise previews some of that material.

Find the pattern describing the sequence of multiplication tables for those same groups. You might consider the following steps.

(a) Create multiplication tables from the Cayley diagrams for triangle, square, and regular pentagon puzzles.

from sympy.combinatorics.named_groups import DihedralGroup

G = DihedralGroup(3)
permutations = list(G.generate_dimino())

indexes = {perm: idx for idx, perm in enumerate(permutations)}
indexes
{Permutation(2): 0,
 Permutation(0, 1, 2): 1,
 Permutation(0, 2, 1): 2,
 Permutation(0, 2): 3,
 Permutation(1, 2): 4,
 Permutation(2)(0, 1): 5}
permutation = {
    "e": permutations[0],
    "r": permutations[1],
    "f": permutations[3],
}
permutation["rĀ²"] = permutation["r"]*permutation["r"]
permutation["rf"] = permutation["r"]*permutation["f"]
permutation["fr"] = permutation["f"]*permutation["r"]
permutation
{'e': Permutation(2),
 'r': Permutation(0, 1, 2),
 'f': Permutation(0, 2),
 'rĀ²': Permutation(0, 2, 1),
 'rf': Permutation(2)(0, 1),
 'fr': Permutation(1, 2)}
import numpy as np

action = {v: k for k, v in permutation.items()}
name_v = np.vectorize(action.get)
x = np.array(list(permutation.values()))
import pandas as pd
import seaborn as sns

from sympy.combinatorics import Permutation

y = x[...,np.newaxis] * x
df = pd.DataFrame(name_v(y), index=name_v(x), columns=name_v(x))

index_v = np.vectorize(indexes.get)
cm = sns.color_palette("Paired", as_cmap=True)
df.style.background_gradient(axis=None, cmap=cm, gmap=index_v(y))
  e r f rĀ² rf fr
e e r f rĀ² rf fr
r r rĀ² rf e fr f
f f fr e rf rĀ² r
rĀ² rĀ² e fr r f rf
rf rf f r fr e rĀ²
fr fr rf rĀ² f r e
from sympy.combinatorics.named_groups import DihedralGroup

G = DihedralGroup(4)
permutations = list(G.generate_dimino())

indexes = {perm: idx for idx, perm in enumerate(permutations)}
indexes
{Permutation(3): 0,
 Permutation(0, 1, 2, 3): 1,
 Permutation(0, 2)(1, 3): 2,
 Permutation(0, 3, 2, 1): 3,
 Permutation(0, 3)(1, 2): 4,
 Permutation(1, 3): 5,
 Permutation(0, 1)(2, 3): 6,
 Permutation(3)(0, 2): 7}
permutation = {
    "e": permutations[0],
    "r": permutations[1],
    "f": permutations[4],
}
permutation["rĀ²"] = permutation["r"]*permutation["r"]
permutation["rĀ³"] = permutation["r"]*permutation["r"]*permutation["r"]
permutation["rf"] = permutation["r"]*permutation["f"]
permutation["fr"] = permutation["f"]*permutation["r"]
permutation["rĀ²f"] = permutation["r"]*permutation["r"]*permutation["f"]
permutation
{'e': Permutation(3),
 'r': Permutation(0, 1, 2, 3),
 'f': Permutation(0, 3)(1, 2),
 'rĀ²': Permutation(0, 2)(1, 3),
 'rĀ³': Permutation(0, 3, 2, 1),
 'rf': Permutation(3)(0, 2),
 'fr': Permutation(1, 3),
 'rĀ²f': Permutation(0, 1)(2, 3)}
import numpy as np

action = {v: k for k, v in permutation.items()}
name_v = np.vectorize(action.get)
x = np.array(list(permutation.values()))
import pandas as pd
import seaborn as sns

from sympy.combinatorics import Permutation

y = x[...,np.newaxis] * x
df = pd.DataFrame(name_v(y), index=name_v(x), columns=name_v(x))

index_v = np.vectorize(indexes.get)
cm = sns.color_palette("Paired", as_cmap=True)
df.style.background_gradient(axis=None, cmap=cm, gmap=index_v(y))
  e r f rĀ² rĀ³ rf fr rĀ²f
e e r f rĀ² rĀ³ rf fr rĀ²f
r r rĀ² rf rĀ³ e rĀ²f f fr
f f fr e rĀ²f rf rĀ³ r rĀ²
rĀ² rĀ² rĀ³ rĀ²f e r fr rf f
rĀ³ rĀ³ e fr r rĀ² f rĀ²f rf
rf rf f r fr rĀ²f e rĀ² rĀ³
fr fr rĀ²f rĀ³ rf f rĀ² e r
rĀ²f rĀ²f rf rĀ² f fr r rĀ³ e
from sympy.combinatorics.named_groups import DihedralGroup

G = DihedralGroup(5)
permutations = list(G.generate_dimino())

indexes = {perm: idx for idx, perm in enumerate(permutations)}
indexes
{Permutation(4): 0,
 Permutation(0, 1, 2, 3, 4): 1,
 Permutation(0, 2, 4, 1, 3): 2,
 Permutation(0, 3, 1, 4, 2): 3,
 Permutation(0, 4, 3, 2, 1): 4,
 Permutation(0, 4)(1, 3): 5,
 Permutation(1, 4)(2, 3): 6,
 Permutation(0, 1)(2, 4): 7,
 Permutation(0, 2)(3, 4): 8,
 Permutation(4)(0, 3)(1, 2): 9}
permutation = {
    "e": permutations[0],
    "r": permutations[1],
    "f": permutations[5],
}
permutation["rĀ²"] = permutation["r"]*permutation["r"]
permutation["rĀ³"] = permutation["r"]*permutation["r"]*permutation["r"]
permutation["rā“"] = permutation["r"]*permutation["r"]*permutation["r"]*permutation["r"]
permutation["rf"] = permutation["r"]*permutation["f"]
permutation["fr"] = permutation["f"]*permutation["r"]
permutation["rĀ²f"] = permutation["r"]*permutation["r"]*permutation["f"]
permutation["frĀ²"] = permutation["f"]*permutation["r"]*permutation["r"]
permutation
{'e': Permutation(4),
 'r': Permutation(0, 1, 2, 3, 4),
 'f': Permutation(0, 4)(1, 3),
 'rĀ²': Permutation(0, 2, 4, 1, 3),
 'rĀ³': Permutation(0, 3, 1, 4, 2),
 'rā“': Permutation(0, 4, 3, 2, 1),
 'rf': Permutation(4)(0, 3)(1, 2),
 'fr': Permutation(1, 4)(2, 3),
 'rĀ²f': Permutation(0, 2)(3, 4),
 'frĀ²': Permutation(0, 1)(2, 4)}
import numpy as np

action = {v: k for k, v in permutation.items()}
name_v = np.vectorize(action.get)
x = np.array(list(permutation.values()))
import pandas as pd
import seaborn as sns

from sympy.combinatorics import Permutation

y = x[...,np.newaxis] * x
df = pd.DataFrame(name_v(y), index=name_v(x), columns=name_v(x))

index_v = np.vectorize(indexes.get)
cm = sns.color_palette("Paired", as_cmap=True)
df.style.background_gradient(axis=None, cmap=cm, gmap=index_v(y))
  e r f rĀ² rĀ³ rā“ rf fr rĀ²f frĀ²
e e r f rĀ² rĀ³ rā“ rf fr rĀ²f frĀ²
r r rĀ² rf rĀ³ rā“ e rĀ²f f frĀ² fr
f f fr e frĀ² rĀ²f rf rā“ r rĀ³ rĀ²
rĀ² rĀ² rĀ³ rĀ²f rā“ e r frĀ² rf fr f
rĀ³ rĀ³ rā“ frĀ² e r rĀ² fr rĀ²f f rf
rā“ rā“ e fr r rĀ² rĀ³ f frĀ² rf rĀ²f
rf rf f r fr frĀ² rĀ²f e rĀ² rā“ rĀ³
fr fr frĀ² rā“ rĀ²f rf f rĀ³ e rĀ² r
rĀ²f rĀ²f rf rĀ² f fr frĀ² r rĀ³ e rā“
frĀ² frĀ² rĀ²f rĀ³ rf f fr rĀ² rā“ r e

(b) Discern a pattern and describe it. This will be your conjecture about n-gons for n > 5.

Each dihedral group has a ā€œsub-multiplication tableā€ within each of the four quadrants of the table.

(c) Return to the group library in Group Explorer and investigate the same groups as in Exercise 2.19. (If you do not remember which ones they are, you can use the search feature again and look up ā€œtriangle,ā€ ā€œsquare,ā€ etc.)

(i) Do your multiplication tables from part (a) agree with those in Group Explorer? Note that Group Explorer may have used different names for the elements of the group than you did, and may have chosen a different order for the rows and columns, but the pattern in the table should be the same. You can rename elements and reorder the rows and columns in Group Explorerā€™s multiplication tables to help with the comparison.

Yes, they seem to match.

(ii) Does your conjecture about the pattern of multiplication tables for n-gons with n > 5 hold up against all the data you can find in Group Explorer? (This includes groups other than the three you just examined.)

Yes, there are similar patterns in those tables.

(d) Can you give a convincing reason why the conjecture you made ought to be true?

In the top-left quadrant we have the table for when we never flip the \(n\)-gon (limit ourselves to rotations, this is essentially the table for a cyclic group). The bottom-left and top-right quadrants are associated with a single flip, and the bottom-right with two flips.

4.5.3 Almost tables#

Exercise 4.10 (šŸ“‘)#

Consider the following multiplication table that displays a binary operation.

x

(a) Explain succinctly why the binary operation is not associative. Can you write your answer as one equation?

We could directly search for a counter-example, but weā€™ll use Lightā€™s associativity test to generate more than one counterexample. The two tables produced by the test process:

x

We can see the tables disagree on two cells, corresponding to:

\[\begin{split} \begin{align} \\ AĀ·(AĀ·B) = AĀ·e = A & ā‰  B = eĀ·B = (AĀ·A)Ā·B \\ BĀ·(AĀ·A) = BĀ·e = B & ā‰  A = eĀ·A = (BĀ·A)Ā·A \end{align} \end{split}\]

The authorā€™s answer:

Hint: Check associativity of \(AĀ·AĀ·B\).

This answer is fine, but it takes as an assumption that \(A ā‰  B\). If we let \(A = B\) then this table (redundantly) represents a group with only 2 distinct elements (\(e\) and \(A = B\)).

(b) Does the operation have inverses?

Yes, each element is its own inverse, and \(A\) and \(B\) are also inverses of each other. Notice that \(e\) shows up twice in the row for \(A\), meaning we can conclude:

\[ AĀ·A = AĀ·B = e \]

Lacking associativity, nothing about the previous statement can be reduced and thereā€™s little we can do to manipulate it further in an interesting way. If we assume associativity, this leads to \(A = B\).

Assuming \(A ā‰  B\) we canā€™t even call this algebraic structure a Quasigroup because it doesnā€™t obey the Latin square property.

Exercise 4.11#

Consider the following multiplication table that displays a binary operation.

x

(a) Explain succinctly why the binary operation does not have inverses. Can you write your answer as one equation?

See Inverse element; we canā€™t have inverses without an identity (or identities). Since this operation is total, we can have only identity and in this cases itā€™s \(3\) because it is the only element where the row and column associated with it equals the row and column labels. We donā€™t have all inverses, however, because \(2\) does not have one. We can see \(2\) doesnā€™t have an inverse because thereā€™s no element in the row/column associated with this element thatā€™s equal to \(3\) (similarly, itā€™s quick to see that \(1\) doesnā€™t have an inverse).

(b) Is the operation associative?

An operation is associative if a term reduces to the same regardless of where you put parentheses. If any term based on this algebra has a \(1\) in it, then the term will be a \(1\) regardless of the placement of parentheses. Similarly, if it has a \(2\) in it then it will be a \(2\) and if it only has \(1\) in it itā€™ll reduce to \(1\) (again, regardless of parentheses). Since parentheses donā€™t matter, this table is associative.

Weā€™d call this algebraic structure a Monoid (because it has associativity and identity, but not invertibility), specifically a commutative monoid.

Exercise 4.12#

Consider the following multiplication table that displays a binary operation.

x

(a) Does this operation have inverses? Justify your answer.

The identity is clearly \(1\), using similar reasoning to the last question. It doesnā€™t have inverses because e.g. thereā€™s no \(1\) in the row/column for \(x\).

(b) Is the operation associative? Justify your answer.

Yes, because terms will evaluate the same regardless of parentheses. If a term has a \(y\) it will always reduce to a \(y\). Otherwise, a term has a single \(x\) and only \(1\) it will reduce to \(x\); if it has two \(x\) and only \(1\) it will reduce to \(y\). Otherwise, the term will reduce to \(1\).

Weā€™d call this algebraic structure a Monoid (because it has associativity and identity, but not invertibility), specifically a commutative monoid.

Exercise 4.13 (šŸ“‘)#

For each multiplication table below, explain why it does not depict a group.

x

Notice two \(3\) in the row for \(3\), implying it has two inverses (which should be unique). That row is specifically claiming there are two identities:

\[ 3Ā·e = 3Ā·4 = 3 \]

We know we canā€™t have two identities, and we specifically know that \(4\) is not an identity because the row/column associated with it is not equal the identity permutation. Therefore we can use the left inverse of \(3\) to come up with a contradiction based on it:

\[ (2Ā·3)Ā·4 = eĀ·4 = 4 ā‰  2Ā·(3Ā·4) = 2Ā·3 = e \]

That is, the algebra/table is not associative (we can change the result based on where we put parentheses).

Hereā€™s an alternative approach. Assuming associativity and using the row for \(4\), we would similarly conclude that \(1 = 3\):

\[\begin{split} \begin{align} 4Ā·1 & = 4Ā·3 = 2 \\ 4Ā·4Ā·1 & = 4Ā·4Ā·3 = 4Ā·2 \\ 1 & = 3 = 1 \end{align} \end{split}\]

The rows/columns for these two elements are clearly different, so we should question the assumption of associativity. Indeed, we can verify it doesnā€™t hold in one of the places we assumed it:

\[ (4Ā·4)Ā·3 = eĀ·3 = 3 ā‰  4Ā·(4Ā·3) = 4Ā·2 = 1 \]

The authorā€™s answer:

The operator is not associative, as the following computation demonstrates:

\(4Ā·(3Ā·2) = 4Ā·1 = 2 ā‰  4 = 2Ā·2 = (4Ā·3)Ā·2\)

x

It does not have inverses; notice the row for \(a\) does not have an \(e\) in it.

x

Notice two \(b\) in the row for \(b\), implying it has two inverses (which should be unique). Based on logic similar to above we can find a counterexample to the claim of associativity:

\[ (bĀ·b)Ā·c = eĀ·c = c ā‰  e = bĀ·b = bĀ·(bĀ·c) \]

x

It lacks an identity.

Exercise 4.14 (šŸ“‘)#

The following multiplication table does not depict a binary operation on the set \(\{e, x, y\}\). The reason is part of the definition of a binary operation; we would say that this binary operation lacks closure. Can you spot the problem and explain it in your own words?

x

The \(s\) entry is not an element of \(\{e,x,y\}\).

The authorā€™s answer:

The element \(s\) appears in the table, but is not in the row or column headings. Is it in the group or isnā€™t it?

Exercise 4.15#

Why can the same element not appear twice in any row of a groupā€™s multiplication table? Does this restriction also apply to columns?

Letā€™s say the row \(a\) contained two elements \(x\) and \(y\) that both equal some third element \(z\):

\[ aĀ·x = aĀ·y = z \]

Assuming inverses and associativity, we could conclude:

\[ a^{-1}Ā·(aĀ·x) = a^{-1}Ā·(aĀ·y) = (a^{-1}Ā·a)Ā·x = x = (a^{-1}Ā·a)Ā·y = y = a^{-1}Ā·z \]

This would require us to conclude that \(x = y\), which is typically not going to be possible, meaning we must more likely give up either the assumption of (1) inverses or (2) associativity and therefore that weā€™re looking at a group. Notice weā€™re trying to avoid an appeal to the Law of excluded middle. A similar argument would apply to columns.

Exercise 4.16#

Exercises 2.14 through 2.17 on page 24 asked you to translate the rules from Definition 1.9 into criteria about diagrams. The goal was to create criteria for judging whether a diagram was a Cayley diagram - i.e., whether it represented a group.

This exercise will show that the answers to Exercises 2.14 through 2.17 are not sufficiently restrictive. That is, there are diagrams that satisfy those criteria but are not Cayley diagrams for any group. Consider the two diagrams shown below, neither of which is a valid Cayley diagram.

x

(a) Does each diagram meet all the criteria that were your answers to Exercises 2.14 through 2.17?

(b) Try to convert each of these diagrams into a multiplication table. What problem arises in each case?

(c) Can you explain what is wrong with these diagrams that caused the problems you encountered in part (b)?

(d) Create another diagram satisfying the criteria of Exercises 2.14 through Exercises 2.17, yet having the same problem as the two diagrams above.

This exercise shows a slight discrepancy between the actions-based definition of group (Definition 1.9, illustrated using Cayley diagrams) and my algebraic one (Definition 4.2, illustrated using multiplication tables). This discrepancy will be cleared up in Section 6.1.