Cycle Switching Rules (continued)

cycle1: [guard1,2] Po -enum< P1 >elim- P2

cycle2: [guard2,1] Po -enum< P3 -enum< P4 -enum< P5 >elim- P6

The default guard predicate is the same for all problem sets and tests whether the problem set is empty to transfer to different cycle. The default guardi,j is defined as follows: When the kth operator in the operator sequence for cyclei is applied to transform Pk-1 to Pk, if Pk is empty then control is transferred to cyclej and the initial problem set for cyclej is Pk-1; else the control remains with cyclei and the (k+1)th operator is applied to transform Pk to Pk+1. If Pk is the last problem set and there is no (k+1)th operator then Msis halts.