The rectangle strategy is the first level 3 strategy that is not an extension of easier ones. As I explained in Chapter 2, this strategy relies on sets of cells that form rectangular patterns. You implement it with the functions rectangle() , rectangle_pattern() , rectangle_cell() , and rectangle_step() (see Listings 12-1 , 12-2 , 12-3 , and 12-4 , respectively). These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.