I am trying to write a computer program to solve Rubik's cubes using a version of Thistlethwaite's algorithm. Instead of using lookup tables to perform each phase of the algorithm, I'm using a breadth-first search. However, this requires me to recognize when I have reached the goal for each phase and can successfully transition into the next phase.

I'm having trouble identifying what marks the end of phase 3. This website (http://www.jaapsch.net/puzzles/thistle.htm) claims that phase 3 is over when "edges in the L and R faces are placed in their correct slices, the corners are put into their correct tetrads, the parity of the edge permutation (and hence the corners too) is made even, and the total twist of each tetrad is fixed". I understand edge slices, tetrads, and parity; but I couldn't find any references explaining what the "twist of a tetrad" is.

Can anyone shed some light on this term, or suggest some other way to tell when phase 3 of the algorithm is over?

  • $\begingroup$ Good question. Usually I would understand "twist" to refer to the rotation of each corner about its axis, but the orientations of the corners have been fixed since stage 2 ... $\endgroup$ Apr 5, 2014 at 11:27

1 Answer 1


This isn't exactly a direct answer to my original question, but I came across a work-around at this site: http://www.stefan-pochmann.info/spocc/other_stuff/tools/solver_thistlethwaite/solver_thistlethwaite.txt

Essentially, the author grouped the corners into four pairs, and then instead of trying to put corner cubies into their correct tetrads, he goes further and puts them into their correct pairs. The author claims that this condition is stronger than the cube having the correct "tetrad twist", so it is sufficient to exit phase 3.

I coded this in my own implementation, and it seems to work perfectly.

Would still like to know what tetrad twist actually is though :)


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .