The SSE 5x5 (Superset ENG) is a notation for cubes with 5 layers, such as the Professor Cube.
The English notation is based on the book «Inside Rubik's Cube and Beyond» by Christoph Bandelow.
It was later enhanced for big cubes and other puzzles.
The notation supports 90° and 180° twists of the layers of the cube.
A whole cube can be rotated along its face axes.
Permutation and orientation changes of individual cube parts can be specified using permutation cycles.
The logical, language-based structure of the SSE notation allows for more complex movements to be represented
more clearly and precisely thanks to the prefix system (T for Tier, M for Mid-layer, S for Slice, C for Cube, etc.).
The prefix makes it clear from the outset what is being moved.
This makes algorithms for multi-layered cubes more concise and easier to read.
The directional logic is always identical to the outer face.
The notation also includes the description of permutations.
This allows for the precise description of the movements of individual cycles or the state of the entire puzzle.
It makes SSE a complete notation that can also cover cube-theoretical and scientific aspects.
The systematic, consistent syntax is particularly programmer-friendly, making the notation ideal for software
development and computer-aided puzzle analysis.
Face twists: R, R', R2
| Move |
Right |
Up |
Front |
Left |
Down |
Back |
| ○○○○● +90° |
R |
U |
F |
L |
D |
B |
| ○○○○● -90° |
R' |
U' |
F' |
L' |
D' |
B' |
| ○○○○● +180° |
R2 |
U2 |
F2 |
L2 |
D2 |
B2 |
Clockwise 90° twists of the six faces of the cube are described by the capital letters
R, U, F, L, D and B (right, up, front, left, down, back).
For example, R rotates the right face in clockwise direction as seen from the right face.
Counterclockwise twists and rotations are described by appending the inversion operator ' to a move:
R', U', F', ...
In environments, where the ' character can not be used, the character - can be used as
an alternative inversion operator.
180° twists and rotations are described by appending the number 2 to a move:
R2, U2, F2, ...
Tier twists: TR, TR', TR2, ... T3R, T4R
| Move |
Right |
Up |
Front |
Left |
Down |
Back |
| ○○○●● +90° |
TR |
TU |
TF |
TL |
TD |
TB |
| ○○○●● -90° |
TR' |
TU' |
TF' |
TL' |
TD' |
TB' |
| ○○○●● +180° |
TR2 |
TU2 |
TF2 |
TL2 |
TD2 |
TB2 |
| ○○●●● +90° |
T3R |
T3U |
T3F |
T3L |
T3D |
T3B |
| ○○●●● -90° |
T3R' |
T3U' |
T3F' |
T3L' |
T3D' |
T3B' |
| ○○●●● +180° |
T3R2 |
T3U2 |
T3F2 |
T3L2 |
T3D2 |
T3B2 |
| ○●●●● +90° |
T4R |
T4U |
T4F |
T4L |
T4D |
T4B |
| ○●●●● -90° |
T4R' |
T4U' |
T4F' |
T4L' |
T4D' |
T4B' |
| ○●●●● +180° |
T4R2 |
T4U2 |
T4F2 |
T4L2 |
T4D2 |
T4B2 |
Twists which go two layers deep (tier twists) are described by prepending the letter T to a face twist:
TR, TU', TF2.
The depth of the tier can be specified by inserting a number after the letter T.
For example, T3R twists three layers deep in clockwise direction as seen from the right face.
If the depth is not explicitly specified, the value 2 is assumed:
TL, TD', TB2.
To keep algorithm short, T1R is never used, because it is equivalent to R.
T2R is never used, because it is equivalent to TR.
Numbered layer twists: NR, NR', NR2, ... N3R
| Move |
Right |
Up |
Front |
Left |
Down |
Back |
| ○○○●○ +90° |
NR |
NU |
NF |
NL |
ND |
NB |
| ○○○●○ -90° |
NR' |
NU' |
NF' |
NL' |
ND' |
NB' |
| ○○○●○ +180° |
NR2 |
NU2 |
NF2 |
NL2 |
ND2 |
NB2 |
| ○○●○○ +90° |
N3R |
N3U |
N3F |
N3L |
N3D |
N3B |
| ○○●○○ -90° |
N3R' |
N3U' |
N3F' |
N3L' |
N3D' |
N3B' |
| ○○●○○ +180° |
N3R2 |
N3U2 |
N3F2 |
N3L2 |
N3D2 |
N3B2 |
Twists of an individual layer of the cube (twist of the n-th layer) are described by prepending the letter N to a face twist.
The number of the layer can be specified by inserting the number of the layer after the letter N, for example
N4R, N4U', N4F2.
Layers are numbered starting from the face described by the face twist towards the opposite layer.
The layer at the face of the cube has number 1, the next layer has number 2, and so on.
If the layer is not explicitly specified, the value 2 is assumed, for example
NR, NU', NF2.
To keep algorithms short, N1R is never used, because it is equivalent to R.
N2R is never used, because it is equivalent to NR.
Numbered range twists: N2-3R, N2-3R', N2-3R2, ...
| Move |
Right |
Up |
Front |
Left |
Down |
Back |
| ○○●●○ +90° |
N2-3R |
N2-3U |
N2-3F |
N2-3L |
N2-3D |
N2-3B |
| ○○●●○ -90° |
N2-3R' |
N2-3U' |
N2-3F' |
N2-3L' |
N2-3D' |
N2-3B' |
| ○○●●○ +180° |
N2-3R2 |
N2-3U2 |
N2-3F2 |
N2-3L2 |
N2-3D2 |
N2-3B2 |
Twists of a range of layers are described by prepending the letter N to a face twist, followed by the number of the first layer,
a - character, and the number of the last layer.
N2-3R twists the layers 2 through 3 in clockwise direction as seen from the right face.
To keep algorithms short, ranges which start with 1 or end with the last layer of the cube are written as tier twists,
instead of N1-2F2 we write TF2,
instead of N2-3F' we write VF',
instead of N4-5F we write TB'.
Ranges of only one layer are written as N layer twists, instead of N2-2D' we write ND'.
Void twists: VR, VR', VR2
| Move |
Right |
Up |
Front |
Left |
Down |
Back |
| ○○●●○ +90° |
VR |
VU |
VF |
VL |
VD |
VB |
| ○○●●○ -90° |
VR' |
VU' |
VF' |
VL' |
VD' |
VB' |
| ○○●●○ +180° |
VR2 |
VU2 |
VF2 |
VL2 |
VD2 |
VB2 |
Tier twists without the cube face (void twists) can be described by prepending the letter V to a face twist:
VR, VU', VF2.
The depth of void layers can be specified by inserting a number after the letter V.
For example, V3R twists the layers 2 through 4 in clockwise direction as seen from the right face.
If the depth is not explicitly specified, the value 2 is assumed:
VL, VD', VB2.
To keep algorithms short, V1R is never used, because it is equivalent to NR.
V2R is never used, because it is equivalent to VR.
Mid-layer twists: MR, MR', MR2
| Move |
Right |
Up |
Front |
Left |
Down |
Back |
| ○○●○○ +90° |
MR |
MU |
MF |
ML |
MD |
MB |
| ○○●○○ -90° |
MR' |
MU' |
MF' |
ML' |
MD' |
MB' |
| ○○●○○ +180° |
MR2 |
MU2 |
MF2 |
ML2 |
MD2 |
MB2 |
Twists of the layer in the middle (mid-layer twists) are described by prepending the letter M to a face twist:
MR, MU', MF2.
For example, MR rotates the middle layer in clockwise direction as seen from the right face.
On cubes with an even amount of layers, the mid-layers are the ones closer to the face of the cube.
The number of layers twisted can be specified by inserting a number after the letter M.
For example, M2R twists two layers in the middle in clockwise direction as seen from the right face.
If the depth is not explicitly specified, the value 1 is assumed,
for example ML, MD', MB2.
To keep algorithms short, M1R is never used, because it is equivalent to MR.
Wide-layer twists: WR, WR', WR2
| Move |
Right |
Up |
Front |
Left |
Down |
Back |
| ○●●●○ +90° |
WR |
WU |
WF |
WL |
WD |
WB |
| ○●●●○ -90° |
WR' |
WU' |
WF' |
WL' |
WD' |
WB' |
| ○●●●○ +180° |
WR2 |
WU2 |
WF2 |
WL2 |
WD2 |
WB2 |
Twists of all layers except the outer faces (wide-layer twists) can be described by prepending the letter W to a face twist:
WR, WU', WF2.
WR is equal to M3R and twists two layers in the middle in clockwise direction as seen from the right face.
Slice twists: SR, SR', SR2, ... S2R
| Move |
Right |
Up |
Front |
Left |
Down |
Back |
| ●○○○● +90° |
SR |
SU |
SF |
SL |
SD |
SB |
| ●○○○● -90° |
SR' |
SU' |
SF' |
SL' |
SD' |
SB' |
| ●○○○● +180° |
SR2 |
SU2 |
SF2 |
SL2 |
SD2 |
SB2 |
| ●●○●● +90° |
S2R |
S2U |
S2F |
S2L |
S2D |
S2B |
| ●●○●● -90° |
S2R' |
S2U' |
S2F' |
S2L' |
S2D' |
S2B' |
| ●●○●● +180° |
S2R2 |
S2U2 |
S2F2 |
S2L2 |
S2D2 |
S2B2 |
Twists of opposing faces (slice twists) are described by prepending the letter S to a face twist.
For example, SR turns the right face and the opposing left face in clockwise direction as seen from the right face.
The depth of the slices can be specified by inserting a number after the letter S, for example S2R.
If the depth is not explicitly specified, the value 1 is assumed, for example SL, SD', SB2.
To keep algorithms short, S1R is never used, because it is equivalent to SR.
Slice range twists: S2-3R, S2-3R', S2-3R2, ...
| Move |
Right |
Up |
Front |
Left |
Down |
Back |
| ●●○○● +90° |
S2-3R |
S2-3U |
S2-3F |
S2-3L |
S2-3D |
S2-3B |
| ●●○○● -90° |
S2-3R' |
S2-3U' |
S2-3F' |
S2-3L' |
S2-3D' |
S2-3B' |
| ●●○○● +180° |
S2-3R2 |
S2-3U2 |
S2-3F2 |
S2-3L2 |
S2-3D2 |
S2-3B2 |
| ●●●○● +90° |
S2-2R |
S2-2U |
S2-2F |
S2-2L |
S2-2D |
S2-2B |
| ●●●○● -90° |
S2-2R' |
S2-2U' |
S2-2F' |
S2-2L' |
S2-2D' |
S2-2B' |
| ●●●○● +180° |
S2-2R2 |
S2-2U2 |
S2-2F2 |
S2-2L2 |
S2-2D2 |
S2-2B2 |
| ●○○●● +90° |
S3-4R |
S3-4U |
S3-4F |
S3-4L |
S3-4D |
S3-4B |
| ●○○●● -90° |
S3-4R' |
S3-4U' |
S3-4F' |
S3-4L' |
S3-4D' |
S3-4B' |
| ●○○●● +180° |
S3-4R2 |
S3-4U2 |
S3-4F2 |
S3-4L2 |
S3-4D2 |
S3-4B2 |
| ●○●●● +90° |
S4-4R |
S4-4U |
S4-4F |
S4-4L |
S4-4D |
S4-4B |
| ●○●●● -90° |
S4-4R' |
S4-4U' |
S4-4F' |
S4-4L' |
S4-4D' |
S4-4B' |
| ●○●●● +180° |
S4-4R2 |
S4-4U2 |
S4-4F2 |
S4-4L2 |
S4-4D2 |
S4-4B2 |
Slice twists around an arbitrary range of layers are described by prepending the letter S to a face twist,
followed by the number of the first layer, a - character, and the number of the last layer.
S2-3R performs a slice twists around the layers 2 through 3 in clockwise direction as seen from the right face.
To keep algorithms short, slice range twists are only used, if there is no equivalent slice twist.
For example, instead of S2-4F2 we write SF2.
Cube rotations: CR, CR', CR2
| Move |
Right |
Up |
Front |
Left |
Down |
Back |
| ●●●●● +90° |
CR |
CU |
CF |
CL |
CD |
CB |
| ●●●●● -90° |
CR' |
CU' |
CF' |
CL' |
CD' |
CB' |
| ●●●●● +180° |
CR2 |
CU2 |
CF2 |
CL2 |
CD2 |
CB2 |
Rotations of the whole cube (cube rotations) are described by prepending the letter C to a face twist.
For example, CR rotates the whole cube in clockwise direction as seen from the right face.
Sequences of moves
Example: R2 L2 U D' F2 B2 U D'
Sequences of moves are specified by appending moves, for example
R2L2UD'F2B2UD'.
To improve readability, whitespace can be used to separate moves:
R2 L2 U D' F2 B2 U D'.
The SSE notation for cubes does not necessarily require whitespace to separate moves,
as there is no other way to divide the individual move tokens.
Note: Since the current version of TWISTER does not yet fully support the SSE notation,
spaces are required between moves!
Seperators
Example: R2 L2 · U D' · F2 B2 · U D'
Sequences of moves can be separated using a · middle dot character.
In environments where this character is not available, the . full stop character can be used.
The following sequences are equivalent:
R2 L2 · U D' · F2 B2 · U D' and
R2 L2 . U D' . F2 B2 . U D'.
Comments
Example: // This is a comment
Single-line comments start with // two forward slashes.
Any text between // and the end of the line is ignored (will not be executed):
// comment.
A single-line comment can be used before a line with a move sequence or
at the end of line with a move sequence.
Grouping and Inversions
Syntax: (A B) = A B
Example: (R U F) = R U F
Inverse: (A B)' = B' A'
Example: (R U F)' = F' U' R'
Sequences of moves can be grouped by enclosing them with parentheses:
(R U F).
An inverse group can be described by appending the inverse operator ' to the closing bracket.
The inverse of a group reverses the entire group squence.
Repetitions
Syntax: (A B)2 = A B A B
Example: (R U F)3 = R U F R U F R U F
Inverse: (A B)2' = B' A' B' A'
Example: (R U F)3' = F' U' R' F' U' R' F' U' R'
Repetitions of type A B A B can be described by enclosing the repetition sequence A B with parentheses
and appending the number of repetitions to the closing bracket:
(A B)2.
An inverse repetition can be described by appending the inverse operator ' to the number of repetitions.
The inverse of a repetition reverses the entire repetition squence.
Conjugations
Syntax: [A: B] = A B A'
Example: [R: U] = R U R'
Inverse: [A: B]' = A B' A'
Example: [R: U]' = R U' R'
Conjugations of type A B A' are described by enclosing the conjugator A and the conjugee B with square brackets
and delimiting conjugator and conjugee by a : colon: [A: B].
A conjugation performs the conjugator and conjugee sequences first, followed by the inverse of the conjugator.
Note that conjugators in twisty puzzle algorithms are also known as setup moves.
An inverse conjugation can be described by appending the inverse operator ' to the closing square bracket.
The inverse of a conjugation reverses the entire conjugation squence.
Commutations
Syntax: [A, B] = A B A' B'
Example: [R, U] = R U R' U'
Inverse: [A, B]' = B A B' A'
Example: [R, U]' = U R U' R'
Commutations of type A B A' B' are described by enclosing the commutator A and the commutee B with square brackets
and delimiting A and B by a , comma: [A, B].
A commutation performs the commutator and commutee sequences first, followed by the inverse of the commutator and commutee.
An inverse commutation can be described by appending the inverse operator ' to the closing square bracket.
The inverse of a commutation reverses the entire commutation squence.
Sources
Bandelow, Christoph
Inside Rubik’s Cube and Beyond
120 pp. Birkhäuser Boston, 1982.
ISBN 978-0-8176-3078-2