Is the Rubik's Cube group normal in the assembly/disassembly group?

255 Views Asked by At

I found myself wondering whether the Rubik's Cube group (of order $2^{27} \cdot 3^{14} \cdot 5^3 \cdot 7^2 \cdot 11$) is normal as a subgroup of the slightly larger group where assembly/disassembly of the cube is allowed (of order $2^{29} \cdot 3^{15} \cdot 5^3 \cdot 7^2 \cdot 11 = 12! \cdot 8! \cdot 2^{12} \cdot 3^8$).

Most of the parity restrictions are easy enough to cast as kernels of group homomorphisms: the restriction on cubie placement can be interpreted as taking a group homomorphism from the larger group to $S_{20}$, and then composing with the sign homomorphism to $\{ \pm 1 \}$, and taking the kernel. Similarly, the edge orientation restriction can be interpreted as taking a group homomorphism from the larger group to $S_{24}$ (taking the corresponding permutation of edge stickers), and then again composing with the sign homomorphism to $\{ \pm 1 \}$, and taking the kernel.

What's left is the restriction on corner orientation. I have seen descriptions of corresponding functions from the larger group to $\mathbb{Z} / 3 \mathbb{Z}$; what is not clear to me is whether any of these functions gives a homomorphism of groups. (And in trying to apply the definition of normality directly, I have a hard time working with disassembling/reassembling the cube, applying some sequence of face rotations, and then applying the inverse of the original disassembly/reassembly.)

2

There are 2 best solutions below

7
On BEST ANSWER

Let $G$ be the usual Rubik's cube group, and $G_0$ be the full disassembly group. Yes, $G$ is a normal subgroup of $G_0$.

It is clear that $G_0$ breaks up into a direct product $G_0^{c} \times G_0^{e}$ ($c$ for corners, $e$ for edges). $G_0^c$ are the permutations that only move corner pieces, and $G_0^e$ are the permutations that only move edge pieces.

Now $G_0^c$ has a normal subgroup $N^c$ which fixes the position, but not necessarily the orientation, of each corner piece. It is clear that $N^c \cong (\mathbb{Z}/3\mathbb{Z})^8$. I claim that $N^c$ has a complement $K^c$ in $G_0^c$ isomorphic to $S_8$. To see this, fix one reference sticker on each corner piece, for example, all the U and D stickers on corner pieces. There are 8 reference stickers, one per corner. Consider the subgroup $K^c$ of elements of $G_0^c$ which take reference stickers to reference stickers. If all reference stickers are fixed, then all remaining corner stickers are fixed too. Therefore $K^c \cong S_8$. We conclude that $G_0^c \cong N^c \rtimes K^c$ (semidirect product).

In the same way, $G_0^e \cong N^e \rtimes K^e$.

Now $G$ can be described as the intersection of these three normal subgroups of $G_0$:

(1) Corner condition. Consider the sequence of maps $G_0 \to G_0^c \to N^c \cong (\mathbb{Z}/3\mathbb{Z})^{8} \to \mathbb{Z}/3\mathbb{Z}$ (the first 2 maps are projections and the last one is the sum of the 8 components). Now we have to be careful. The second map $G_0^c \to N^c$ is not a homomorphism. Instead it satisfies a cocycle equation $\phi(gh) = \phi(g) + g\phi(h)g^{-1}$ (it's possible that $g$ and $g^{-1}$ need to be switched here, depending on your conventions). However, when you sum both sides of this cocycle equation over the 8 components, the twist in the last term cancels out and so the combined map is a homomorphism. (This last part is explained in full detail here, parts II and III, without saying the word "cocycle".) Its kernel gives the elements of $G_0$ that satisfies the "corner twist" condition.

(2) Edge condition. In a similar way, you get a normal subgroup of $G_0$ consisting of all elements satisfying the "edge twist" condition.

(3) Parity condition. We project $G_0 \to K^c \times K^e \cong S_8 \times S_{12}$ (which is a homomorphism) and take those elements of $G_0$ whose images are (odd, odd) or (even, even) in $S_8 \times S_{12}$.

Since $G$ is the intersection of these 3 normal subgroups of $G_0$, then $G$ is a normal subgroup of $G_0$.

0
On

I was attracted by this question, motivated by a quick possibility to implement the groups in question in the one or the other computer algebra system, and check the wanted property, together with some other bonus information. At the end, i decided to submit, including a small piece of job which addresses the question. To have an answer, a proof is on the first place, i typed the one that comes into mind when having the cube in the hand.


Let $R$ be the Rubik group, and $S$ the "scramble" group. To fix ideas, we let both groups act on the set of "pieces" of the $3\times3\times3$ Rubik cube. Each piece comes here with its place, and its orientation. Below we use the faithfulness of this action, a "move" in the abstract group $S$ is the identity, iff it is acting trivially on the pieces. Considered now the pieces in a "solved" / unscrambled / clean position. Corners will be denoted by $c,d,\dots$ with possible further decorations. For edges we use similarly $e,f,\dots$ - and let us fix some among them.

  • $c_*, d_*$ are the corners in the positions top-front-left, and top-front-right.
  • $e_*$, $f_*$ are the edge top-front between $c_*$ and $d_*$, and its opposite on the top face.

Scrambling is generated by the following types of "moves" ("move" is shorter than formula, or permutation...):

  • $(E)$ The move $t(e)$, exchange the faces of the edge $e$, its order is two. We use the notation $e'$ for the edge $e$ with opposite orientation, i.e. $e'=t(e)\ (e)$.
  • $(EE)$ The move $t(e,f)=t(f,e)$, switch over the edges $e, f$, its order is two.
  • $(C)$ The move $s(c)$, change the three faces/stickers of the corner $c$ using an even permutation, to be specific, $s(c)$ keeps the orientation in space. (We are not allowed to keep one sticker, and unstick the other two, exchange them, then glue them back on "wrong places".) It has order three. We denote by $c'$ the corner $c$ with orientation changed by $s(c)$, i.e. $c'=s(c)\ (c)$. So all orientations of $c$ are $c,c',c''$.
  • $(CC)$ The move $t(c,d)$, exchange the corners $c,d$, it has order two.

(Notation: Here $E$ stays for a move affecting one edge, while $EE$ scrambles two edges. Similarly, $C$, $CC$ involve one, respectively two corners.)


To be precise, one can introduce numbers like in

sage: rubik = CubeGroup()
sage: rubik.display2d('')
             +--------------+
             |  1    2    3 |
             |  4   top   5 |
             |  6    7    8 |
+------------+--------------+-------------+------------+
|  9  10  11 | 17   18   19 | 25   26  27 | 33  34  35 |
| 12 left 13 | 20  front 21 | 28 right 29 | 36 rear 37 |
| 14  15  16 | 22   23   24 | 30   31  32 | 38  39  40 |
+------------+--------------+-------------+------------+
             | 41   42   43 |
             | 44 bottom 45 |
             | 46   47   48 |
             +--------------+

and define $c^*$ to be the triple $(6,11,17)$, $e^*$ the edge $(7,18)$, and let $S$ act (separated)

  • on the set of possible corner triples like $c=(6,11,17)$, $c'=(11,17,6)$, $c''=(17,6,11)$, and so on,
  • and on the set of the possible edges doubles $e=(7,18)$, $e'=(18,7)$, and so on.

But the "common sense" should be enough to keep trace on the movements below. In particular, for a scramble move $s$, we can write expressions like $s(1), s(2), s(3), \dots, s(48)$, like $s(e)=s(\ (7,18)\ )$, like $s(c)=s(\ (6,11,17)\ )$, and so on.


After collecting some experience with (i.e. formulas for) the cube in real life, one knows that each randomly scrambled configuration can be brought to an "almost solved" configuration, all what is needed to do now to get the clean position is to use none, one, or more of the following "easy scramble" moves involving only the singled out pieces $c_*, d_*, e_*, f_*$: $$ s(c_*)\ ,\ t(c_*,d_*)\ ,\ t(e_*)\ ,\ t(e_*, f_*)\ . $$ In fact, we can eliminate from the list one of $(FF)$, $(CC)$, because there is a regular $R$-move connecting $(FF)$, $(CC)$, and possibly some $(F)$ and $(C)$ later adjustments. We eliminate $t(e_*, f_*)$ below. So we expect an index $S:R$ to be $12$ (or a smaller divisor - but it is twelve).



We address now the given question: Is $R$ normal in $S$?

Yes. It is enough to show that $srs^{-1}$ is in $R$ for all $r\in R$, and all $s$ among the above easy scramble moves (as coset representatives). We deal with the types $E$, $EE$, and $C$. (A $CC$ move is up to an $R$-move generated by these types.)

Let us fix some "formula" $r\in R$.

  • $(E)$ What happens if we apply $t(e_*)\cdot r\cdot t(e_*)$?

    The movement $r$ brings the edge $e_*$ into some other edge position $f$, $r(e_*)=f$, so in the same time $r(e'_*)=f'$. And other edge $e\ne e_*, e'_*$ is invariated, $r(e)=e$. So the action on edges of $rt(e_*)$ is the same as the one of $t(f)r$: $$ \begin{aligned} rt(e_*)\ (e_*) &= r(e'_*)=f'= t(f)\ (f)=t(f)r\ (e_*)\ ,\\ rt(e_*)\ (e'_*) &= r(e_*)=f= t(f)\ (f')=t(f)r\ (e'_*)\ ,\\ rt(e_*)\ (e) &= r(e)=t(f)r\ (e)\ ,\qquad\text{ for all other $e$, $e\ne e_*,e'_*$, since $r(e)\ne f,f'$.} \end{aligned} $$ We obtain (corners are invariated by $t(e_*)$): $$ t(e_*)\cdot r\cdot t(e_*) = t(e_*)\cdot t(f)\cdot r = \underbrace{t(e_*)\cdot t(r(e_*))}_{\in R}\cdot r\in R\ . $$

  • $(C)$ What happens if we apply $s(c_*)^2\cdot r\cdot s(c_*)$? This is similar to $(E)$.

    The movement $r$ brings the corner $c$ into some other corner position $d$, $r(c_*)=d$, so in the same time (because we have the same space orientation before and after $r$) $r(c'_*)=d'$, $r(c''_*)=d''$, . And any other corner $c\ne c_*, c'_*, c''_*$ is invariated, $r(c)=c$. So the action on corners of $rs(c_*)$ is the same as the one of $s(d)r$: $$ \begin{aligned} rs(c_*)\ (c_*) &= r(c'_* ) = d' = s(d)\ (d) = s(d)r\ (c_* )\ ,\\ rs(c_*)\ (c'_*) &= r(c''_*) = d'' = s(d)\ (d') = s(d)r\ (c'_*)\ ,\\ rs(c_*)\ (c''_*) &= r(c_* ) = d = s(d)\ (d'') = s(d)r\ (c''_*)\ ,\\ rs(c_*)\ (c) &= r(c) = s(d)r\ (c)\ ,\qquad\text{ for all other $c$, $c\ne c_*,c'_*,c''_*$, since $r(c)\ne d,d',d''$.} \end{aligned} $$ We obtain (edges are invariated by $s(c_*)$): $$ s(c_*)^2\cdot r\cdot s(c_*) = s(c_*)^2\cdot s(d)\cdot r = \underbrace{s(c_*)^2\cdot s(r(c_*))}_{\in R}\cdot r\in R\ . $$

  • $(EE)$ What happens if we apply $t(e_*,f_*)\cdot r\cdot t(e_*,f_*)$? This is also similar to $(E)$, but in a different manner.

    The movement $r$ brings the edges $e_*,f_*$ into some other edge positions $g,h$, $r(e_*)=g$, $r(e_*)=g$, so in the same time $r(e'_*)=g'$, $r(f'_*)=h'$. And other edge $e\ne e_*, e'_*,f_*,f'_*$ is invariated, $r(e)=e$. So the action on edges of $rt(e_*,f_*)$ is the same as the one of $t(g,h)r$: $$ \begin{aligned} rt(e_*,f_*)\ (e_* ) &= r(f_* ) = h = t(g,h)\ (g ) = t(g, h)r\ (e_*)\ ,\\ rt(e_*,f_*)\ (e'_*) &= r(f'_*) = h' = t(g,h)\ (g') = t(g, h)r\ (e'_*)\ ,\\ % rt(e_*,f_*)\ (f_* ) &= r(e_* ) = g = t(g,h)\ (h ) = t(g, h)r\ (f_*)\ ,\\ rt(e_*,f_*)\ (f'_*) &= r(d'_*) = g' = t(g,h)\ (h') = t(g, h)r\ (f'_*)\ ,\\ % rt(e_*,f_*)\ (e) &= r(e) = e = t(g,h)\ (e) = t(g,h)r\ (e)\ ,\\ &\qquad\qquad\qquad\text{ for all other $e$, $e\ne e_*,e'_*f_*,f'_*$, since $r(e)\ne g,h,g',h'$.} \end{aligned} $$ We obtain (corners are invariated by $t(e_*,f_*)$): $$ t(e_*,f_*)\cdot r\cdot t(e_*,f_*) = t(e_*,f_*)\cdot t(g,h)\cdot r = \underbrace{t(e_*,f_*)\cdot t(r(e_*),r(f_*))}_{\in R}\cdot r\in R\ . $$

The elements with an underbrace-in-$R$-mark are known to be in $R$ by folklore formulas, certainly among those applied at the first time Rubik cube success.

$\square$



Computer check: Here is a small piece of code checking the normality in sage, by using the existing CubeGroup() functionality. In fact only the generators of $R$. To define the bigger "scramble" group $S$, we declare the corners and edges, then the generators of $S$ based on them.

corners = [
    ( 6, 11, 17), ( 8, 19, 25), (24, 43, 30), (16, 41, 22), # front
    ( 1, 35,  9), ( 3, 27, 33), (32, 48, 38), (14, 40, 46), # rear
] 
edges = [
    ( 7, 18), (21, 28), (23, 42), (13, 20), # front
    ( 4, 10), ( 5, 26), (31, 45), (15, 44), # mid
    ( 2, 34), (29, 36), (39, 47), (12, 37), # rear
]

cgens = (
    [ [c] for c in corners ]    # change orientation of corner c
    + 
    [ [(c1, d1), (c2, d2), (c3, d3)]    # exchange corners c, d 
      for (c1, c2, c3) in corners
      for (d1, d2, d3) in corners if c1 < d1 ]
)
egens = (
    [ [e] for e in edges ]    # change orientation of edge e
    +
    [ [(e1, f1), (e2, f2)]    # exchange edges e and f
      for (e1, e2) in edges
      for (f1, f2) in edges if e1 < f1] 
)

rubik = CubeGroup()

Sc = PermutationGroup(cgens)
Se = PermutationGroup(egens)
S  = PermutationGroup(cgens+egens)

R = S.subgroup(rubik.gens()) 

And we can ask now for the normality of the Rubik group $R$ inside the scramble group $S$, and some further bonus informations:

sage: R.is_normal(S)
True

This is the computer aided answer. Let us check the index of $R$ in $S$, it should be twelve, this is a hint that the $(E)$, $(EE)$, $(C)$, and $(CC)$ types are not independent. (And the link gives a formula inside $R$.)

sage: S.order().factor()
2^29 * 3^15 * 5^3 * 7^2 * 11

sage: Se.order().factor()
2^22 * 3^5 * 5^2 * 7 * 11
sage: Sc.order().factor()
2^7 * 3^10 * 5 * 7

sage: R.order().factor()
2^27 * 3^14 * 5^3 * 7^2 * 11

sage: (S.order() / R.order()).factor()
2^2 * 3

It may be interesting to note the following information on the commutators:

sage: S.commutator().order().factor()
2^26 * 3^14 * 5^3 * 7^2 * 11
sage: R.commutator().order().factor()
2^26 * 3^14 * 5^3 * 7^2 * 11

So regarding commutators, $R$ and $S$ have the same level of complexity.