NGN's Rubik's Cube Page
(work in progress)

Terminology

We use a cartesian coordinate system with origin at the centre of gravity of the whole cube, and three axes x, y, z in right-hand order.

A cube has 26 pieces: 8 corners, 12 edges, and 6 centres.

A cube has 6 faces: Right (+x), Left (-x), Up (+y), Down (-y), Front (+z), and Back (-z). Another way to identify faces is by the colour of their centres (regardless of the colours on other pieces).

"Face" is a 2-dimensional concept and "side" is its 3-dimensional counterpart, so a side consists of 9 pieces in all their volume.

Periphery is the part of a side that is not part of the corresponding face.

A sticker is one of the colored flat surfaces of a piece that are visible from outside.

A layer is a collection of 9 pieces that are on the same level with respect to a given axis. For each of x, y, and z, there are three layers: two sides and the middle layer (a.k.a. middle slice) sandwiched between them.

A twist is the rotation of a corner or an edge. A corner can be twisted in 3 different ways and an edge in 2.

A turn is the rotation of a layer or two adjacent layers simultaneously. A layer can be turned in 4 different ways.

Rotation is clockwise if when looking at the rotated object from the outside, its direction matches that of a clock's hand. This means, for instance, that if we turn opposite sides such as L and R both clockwise, they will be going against one another.

A move is a sequence of turns.

An algorithm is a move that achieves a particular purpose, like twisting and/or permuting a set of pieces.

A trigger is a move that occurs commonly as a part of algorithms. The most common triggers are the "sexy move" R U R' U', the "sledgehammer" R' F R F', and "sune" R U R' U R U2 R', as well as their inverses and mirrored moves.

Notation

Summary:
L R U D F B  # left,right,up,down,front,back side clockwise
l r u d f b  # wide moves - side and middle layer together
x y z        # whole-cube rotations
M E S        # middle layers

α2=αα;α3=ααα # repeat 2,3.. times
α'           # inverse
α!           # left-right mirroring
[α:β]=αβα'   # conjugate
[α,β]=αβα'β' # commutator
(α)          # parentheses for grouping

;            # separator
=            # assignment or assertion
#            # comment till end of line

$=RUR'U'     # sexy move
%=R'FRF'     # sledgehammer
@=RUR'URU2R' # sune

The above is standard notation, except for the symbols !;=#$%@, which are extensions introduced here. Greek letters (α, β, γ..) are not part of the notation, they are meta-variables standing for any subformula.

This web page contains a JavaScript parser and interpreter for the notation. When it loads, it evaluates some of the formulas you see and highlights them in green (or red, if there's an error).

The parser turns a formula into a tree of JavaScript (or JSON) objects. Try it:

prs("") =

A note about square-bracket expressions (conjugates and commutators): the parser accepts a mix of multiple : and , in the brackets and creates nested subtrees in left-associative order, for instance [a,b:c,d] parses as [[[a,b]:c],d]. The most common use of that is the "abacaba" nested conjugate: [a:b:c] = [[a:b]:c] = aba'cab'a', present in a few OLL formulas below.

The interpreter evaluates the tree as a permutation of 54 stickers. If we think of the notation as a programming language, then such 54-permutations are its only data structure. This can be used to prove equivalence of formulas or to validate OLL and PLL cases.

The interpreter maintains mappings between characters and the 54-permutations they represent. It starts with only three built-in mappings: xyR. The rest of the basic moves, as well as the triggers $%@, are computed from xyR in the snippet below (hopefully coloured in green):

z=y'xy
L=y2Ry2;U=zRz';D=z'Rz;F=y'Ry;B=yRy'
l=x'R;r=xL;u=yD;d=y'U;f=zB;b=z'F
M=r'R;E=dD';S=bB'
$=[R,U];%=[R',F];@=RUR'URU2R'

If the left-hand side of = is a single character without a mapping yet, then it's mapped to the evaluation of the right-hand side. This is assignment.

Otherwise, both sides are evaluated and compared. If the resulting permutations differ, the interpreter signals an error. This is assertion.

Finally, a word about triggers. To learn full PLL+OLL more easily, one should be able to freely perform the triggers and their mirror images, both forwards and backwards, without stopping to think. It takes a bit of spacial orientation skills to be able to do that - don't try to learn the formulas in this table by heart, use it only as a reference if you get stuck:

Trigger Plain
τ
Mirrored
τ!
Backwards
τ'
Backwards
mirrored
τ!'
sexy move $=RUR'U' $!=L'U'LU $'=URU'R' $!'=U'L'UL
sledgehammer %=R'FRF' %!=LF'L'F %'=FR'F'R %!'=F'LFL'
sune @=RUR'URU2R' @!=L'U'LU'L'U2L @'=RU2R'U'RU'R' @!'=L'U2LUL'UL

OLL


Details:

Starts similar to turtle but finishes with a second hammer.

Reduced to hogs: euglena = warthog + hedgehog

It's easier than it looks.
Put your index finger at the back, opposite the tadpole's tail, and perform all U moves, as well as F2 with it.

Wide antisune.
Inverse of worm.
Recognize: solo sticker on the side, below the 2x2 square, so it looks like a "p" or "q".
Start: whole snail.

Wide sune.
Inverse of snail.
Recognize: solo sticker on top.
Start: cut the worm in half.

Sexy move, 3/4 of a hammer, sexy move again, and complete the hammer.

Almost like worm (wide sune) but with M going in the opposite direction and inserting a U near the end.

Beautiful but tricky.

Easier than horse and very different from it.

Easy.
The final U' of $ can merge with the first U2 to form a U.

Two worms in opposite directions.

Rare - 1/4 of most other OLL cases, so maybe not worth learning.

Double sune:
(R U R' U R U2 R')(R U R' U R U2 R')
In the middle R' R cancels out, and U2 U merges into a U'.
Pushmi-pullyu is a fictional two-headed animal from the Dr Dolittle books.
Apart from the visual resemblance, the name too is suggestive of what your left index finger might be doing with the U side (push-push-pull-push-pull2).

Palindrome.
(It can be rewritten as [R:U2][R':U'][R:U'][R':U2] but that doesn't help much.)

Final R R2 merged as R'.
Tricky algorithm, needs a lot of exercise.

Like $% (elephant) but both triggers start wide.

Right rotation by 1 of hippo's formula.
Triple sune @3 works too (starting from orientation y) but is much longer.

Sune in its purest form.
Slightly easier to perform upside-down (starting from orientation y2) because the index finger would have to pull U instead of pushing it.

Note the symmetry with orangutan.

Difficult.

Inverse of snake.

Easy - a pair of triggers.
Recognize: by the tusks - two pairs of peripheral yellow stickers, absent in a warthog.

Difficult.

Easy.
Not to be confused with a fish.

The first part is like counting in little-endian binary. Then hammer on the same side.
Orientation: the solo peripheral sticker trapped between the wings is parallel to the sky.

Not to be confused with a turtle.

Why is there a fish between me and my brother?

Inverse of mole.
Orientation: the 2-block of yellow peripheral stickers is parallel to the sky.
Start: by pulling the snake's tail and performing a warthog on the same side.

dog = zmey + warthog
Recognize: the ears are horizontally attached to the head, unlike in the cat pattern.

Start: by covering his spikes with 2 layers - a wide move f or f'. Don't cover the nose, the hedgehog needs to breathe.

Double warthog.
(In a clam's name 2 and 3 denote the blocks of yellow stickers in the periphery.)

A beautiful algorithm.
(In a clam's name 2 and 3 denote the blocks of yellow stickers in the periphery.)

Double hedgehog.

Difficult.
An upside-down sune in which the last U (the second U from the U2) is conjugated with an F'.

Wide double sune.
Start: push the whole clam parallel to the 3-block.
(In a clam's name 2 and 3 denote the blocks of yellow stickers in the periphery.)

Difficult.
Inverse of frog.

Difficult.
Inverse of centipede.

Note the symmetry with alien.

PLL

O A E F G H J N R T U V Y Z