# CFOP method

The CFOP method (Cross – F2L (first 2 layers) – OLL (orientate last layer) – PLL (permutate last layer)), also known as the Fridrich method, is one of the most commonly used methods in speedsolving a 3×3×3 Rubik's Cube. It is one of the fastest methods with the other most notable ones being Roux and ZZ. This method was first developed in the early 1980s, combining innovations by a number of speedcubers. Jessica Fridrich, a Czech speedcuber and the namesake of the method, is generally credited for popularizing it by publishing it online in 1997.
The method works by first solving a cross typically on the bottom, continuing to solve the first two layers together (F2L), orienting the last layer (OLL), and finally permuting the last layer (PLL). There are 119 algorithms in total to learn the full method, with 41 for F2L, 57 for full OLL, and 21 for full PLL. On top of that, there are other algorithm sets like ZBLL and COLL (corners of the last layer) that can be learned in addition to CFOP to improve solving efficiency even further. However, the F2L step can also be done with intuitive F2L, where the solver intuitively solves the step through basic rules, requiring no memorisation of notated algorithms, at the expense of efficiency. By doing F2L intuitively, and by splitting OLL and PLL into two sections each (leaving 10 algorithms for OLL and 6 for PLL), the method can be done with as few as 16 algorithms.

## History

Basic layer-by-layer (LBL) methods were among the first to arise during the early 1980s craze, such as James Nourse's The Simple Solution to Rubik's Cube, which proposed the use of a cross, and worked its way down. David Singmaster published a faster layer-based solution in 1980.
The major innovation of CFOP over the simpler LBL methods is its use of F2L, which solves the first two layers simultaneously by solving top-corners and vertical edges together after the Cross is established. Guus Razoux Schultz used this method as part of his CFCE method during the 1982 World Rubik's Cube Championship, but he did not invent this F2L method. Jessica Fridrich, also competing at this championship, was then using a LBL method. The first official publication of CFOP was done by Anneke Treep and Kurt Dockhorn in 1981 in the Netherlands, based on the F2L-pairing idea of the Dutch professor René Schoof.
Another difference between the CFOP method over Nourse's simple solution is that it orients the Last Layer first, and then positions the pieces. In the simple solution, the pieces are positioned first, and then oriented.
The last layer steps OLL (orient last layer) and PLL (position last layer) involve first orienting the last layer pieces, then permuting them into their correct positions. This was first published in Dutch by Hans Dockhorn and Anneke Treep in 1981. Jessica Fridrich developed OLL-PLL parallel in the Czech Republic.
Fridrich switched to F2L later in 1982 after she got the idea from Guus Razoux Schultz. Her main contribution to the method was developing the OLL and PLL algorithms, which together allowed any last layer position to be solved with two algorithms and was significantly faster than the previous last layer systems.
CFOP, with small tweaks, is by far the most popular method that top cubers use. Users include Mats Valk, Feliks Zemdegs, Tymon Kolasiński [fi], Yiheng Wang, and Max Park.

## Method
### Inspection

Speedcubers are generally given 15 seconds to inspect the cube. They are allowed to rotate the cube, but not to make any moves.
When using the CFOP method, cubers generally use this time to look at how to solve the cross. More advanced cubers can also look ahead into their first pair of F2L ("Cross + 1"), and can even set up that first pair to be solved faster by altering their cross solution.

### Cross

This first stage of solving involves solving the four edge pieces around one center piece, matching the colors of that center and each of the centers of the adjacent sides, forming the eponymous cross shape on the first layer. Most beginner methods solve the cross by first putting the white edge pieces around the yellow center on the top, then matching them with the same colored center, and finally moving them down to match them with the white center. Most CFOP tutorials instead recommend solving the cross on the bottom side to avoid cube rotations and to get an overall better view of the important pieces needed for the next step (F2L). If the solver is particularly advanced, they can skip separately solving the first F2L pair after the cross by solving an X-cross (solving the cross and the first F2L pair at the same time). This is usually done using a technique called Keyhole, which solves one piece of the first F2L pair while ignoring the other piece of that pair.
This cross is usually solved intuitively, although some techniques, such as replacement, and edge orientation, are used. The white cross is most commonly used for demonstration and by beginner and intermediate speedsolvers, though more advanced speedcubers can use any of the six colors to form the cross (choosing the one that requires the fewest/easiest moves), a practice known as color neutrality. The cross can always be solved in 8 moves or fewer.

### First Two Layers (F2L)

While the beginner methods continues by solving the four corners of the first layer and then matching the vertical edges to the corners to solve the second layer, the CFOP method solves each corner along with its vertical edge at the same time. There are 42 unique cases for the permutations of a corner and its matching edge on the cube (one of which corresponds to the solved pair), and the most efficient algorithm to solve any other case without "breaking" any already-solved pair is known and can be memorized. There are 3 main categories of these cases: white on top, same color on top, and different color on top. All these algorithms are based on a simple sequence which brings the pieces to the top layer, aligns them with the color faces showing, and then inserting them into the pair's correct position between the matching centers (called a slot). This sequence can be done intuitively, but knowing the different special cases, and making use of another slot being still unsolved or "open", can improve on the general-case solution.

### Orient Last Layer (OLL)
#### Full OLL

This stage involves manipulating the top layer (yellow, if the cross is solved on white) so that all the pieces have the correct color on top, while largely ignoring the sides of these pieces. Doing this in one step is called Full OLL. There are 58 possible combinations of piece orientations, so once again ignoring the solved case, this stage involves learning a total of 57 algorithms. Learning this stage in full is typically the last step chosen in learning CFOP, due to the large number of algorithms.

#### Two-look OLL

A simpler version, called two-look OLL, orients the top layer in two stages: Edge Orientation (EO) orients the edges first to produce a cross, then uses a second algorithm for Corner Orientation (CO). This reduces the 57 algorithms down to 3 for EO and 7 for CO, totalling 10. EO commonly begins by teaching only algorithms for two of the three possible cases because the last case can be split up into performing the other two algorithms consecutively.

#### Minimizing algorithms learnt

This step can be made even more beginner friendly by dividing it into multiple smaller steps, which require learning less algorithms. This would be at the cost of more “looks” at the cube to determine which algorithm is needed to solve the current sub-step, slowing down the solver, but can be used as a stepping stone into two-look OLL. For example, here is one way OLL can be learnt in just two algorithms, by fully breaking down EO and CO.
EO: Note the following: Performing the Line algorithm (used to create a cross from the center piece end two edge pieces oriented in a line) on a Dot case (none of the edge pieces are oriented correctly) will yield an L case (the center piece and two neighboring edge pieces are oriented correctly). Doing the same on an L case (in a correct orientation) will yield a Line case, which can then be solved. With this knowledge, all EO cases can be solved in repetitions of only one algorithm.
CO: Note that executing the Sune algorithm on an Antisune case (again in the correct rotation) will yield a Sune case. Furthermore, any non (Sune/Antisune) case can be transformed into a Sune/Antisune case by executing a Sune algorithm at a correct orientation. So this step also only needs only one algorithm.
This method above, while only requiring knowledge of two algorithms, would constitute a “6-look OLL”, since at worst the solver needs to identify a case 6 different times, which is highly impractical. However, these minimal-algorithm methods are a very beginner-friendly way to introduce beginners into more advanced methods, and can easily be built upon by learning more algorithms at the solver's own pace.

### Permute Last Layer (PLL)

The final stage involves moving the pieces of the top layer while preserving their orientation. There are a total of 21 algorithms for this stage. They are distinguished by letter names, often based on what they look like with arrows representing what pieces are swapped around (e.g., A-perm, F-perm, T-perm, etc.). Two-look PLL solves the corners first, followed by the edges, and requires learning just six algorithms of the full PLL set. The most common subset uses the T-perm and Y-perm to solve corners, then the U-perm (in clockwise and counter-clockwise variants), H-perm and Z-perm for edges. However, as corners are solved first in two-look, the relative position of edges is unimportant, and so algorithms that permute both corners and edges can be used to solve corners. The J, T, F, and R-perms are all valid substitutes for the A-perm, while the N, V and Y-perm can do the same job as the E-perm. Even fewer algorithms can be used to solve PLL (as few as two, such as the A-perm and U-perm) at the expense of having to repeat these algorithms to solve other cases, with additional "looks" to identify the next step.

### Skipped stages

Depending on the initial state of the cube and the exact moves made in previous stages, it is possible to complete one stage in such a way that the next stage is also already complete. This is known as a skip, commonly referred to specifically by the stage that isn't required in the solve. A PLL skip is the most common, occurring (when "unforced") approximately once in 72 solves, followed by an OLL skip with a 1 in 216 chance to occur. A combination of the two, a full last layer skip, occurs approximately once in 15,552 solves. The Cross and F2L stages of a competition-legal scramble are almost certainly not skippable, though a scramble may present the solver with "free" cross pieces or F2L pairs that are already solved or matched. As speedsolving time is closely related to the number of moves required, any opportunity to make fewer moves presents a significant advantage to the solver. Many speedsolvers have the ability, falling under the general skillset of "lookahead", to identify the likely permutation they will see for the next stage based on the progress of the current stage, and they can vary their solution to avoid permutations that require more moves or an algorithm they are slower to perform. This same ability can allow the solver, in specific known scenarios, to "force" a stage skip with a particular sequence of moves to solve the remainder of the current stage; for instance, by recognizing a particular OLL permutation and performing a specific OLL algorithm, the solver can simultaneously solve PLL, effectively obtaining a PLL skip.
There also exist many advanced extension algorithm sets to be used alongside CFOP, such as COLL, Winter Variation, VLS, ZBLL, and more. However, it is not necessary to learn them in order to solve the cube or to use the CFOP method. These sets usually have a large numbers of algorithms; ZBLL has a total of 472 of them. Therefore, most solvers do not learn these sets and instead focus on improving their skills within regular CFOP.

## Competition use

CFOP is heavily used and relied upon by many speedcubers, including Max Park, Feliks Zemdegs, Yiheng Wang and Tymon Kolasiński. This is because of the method's heavy reliance on algorithms, pattern recognition, and muscle memory, as opposed to more intuitive methods such as the Roux, Petrus, and ZZ methods. The vast majority of top speedcubers on the WCA ranking list are CFOP solvers, including the current 3x3x3 single world record holder Yiheng Wang with a time of 3.08 seconds.