x-cycle is equivalent to all current techniques which operate on a filtered digit such as:
- Simple colouring - Discontinuous x-cycle of length n
Turbot fish - Discontinuous x-cycle of length 5
x-wing - Continuous x-cycle of length 4
Swordfish of 222 formation - Continuous x-cycle of length 6
In an x-cycle, nice loop propagation always follows alternate links with 'strong inference' and 'weak inference' (refer definitions of 'link', 'strong link', 'strong inference' and 'weak inference' here), eg.
......[cell 1]-x-[cell 2]=x=[cell 3]-x-[cell 4]=x=[cell 5]-x-[cell 6]=x=[cell 7]-x-[cell 8].........
where:
the notation '=x=' is a link with a "strong inference" (+ve label)
the notation '-x-' is a link with a "weak inference" (-ve label)
In an x-cycle nice loop, if the links propagate alternately in a cyclic manner (ie. no adjacent links are of same type), the loop is said to be 'continuous'.
With continuous x-cycle, candidates can be eliminated outside the loop but within the unit of the links with weak inference (broken line) as demonstrated below:
Nice loop notation:
example 1 - x-wing: -[r2c2]=5=[r2c6]-5-[r8c6]=5=[r8c2]-5-[r2c2]=
example 2 - swordfish of 222 formation: =[r2c2]-8-[r2c4]=8=[r9c4]-8-[r9c8]=8=[r5c8]-8-[r5c2]=8=[r2c2]-
example 3: =[r2c1]-3-[r9c1]=3=[r7c3]-3-[r7c8]=3=[r5c8]-3-[r5c6]=3=[r3c6]-3-[r2c4]=3=[r2c1]-
A 'discontinuous' x-cycle nice loop has exactly one discontinuity between 2 adjacent links of the same type (ie. both links with strong inference or both links with weak inference).
If the adjacent links are links with strong inference (solid line), a candidate can be fixed in the node at the discontinuity, as demonstrated below:
If the adjacent links are links with weak inference (broken line), a candidate can be eliminated from the node at the discontinuity, as demonstrated below:
Nice loop notation always starts from the discontinuity:
example 4 - turbot fish: [r8c8]=7=[r3c8]-7-[r3c1]=7=[r1c3]-7-[r8c3]=7=[r8c8] => r8c8=7
example 5 - turbot fish: [r3c7]-2-[r3c2]=2=[r6c2]-2-[r6c9]=2=[r2c9]-2-[r3c7] => r3c7<>2
example 6: [r4c8]-4-[r7c8]=4=[r7c1]-4-[r3c1]=4=[r3c6]-4-[r1c4]=4=[r4c4]-4-[r4c8] => r4c8<>4
Demonstrated below is the identification process for x-cycles. From the filtered grid of candidate '6', strong links (shown as double lines, one solid and one broken representing strong and weak inferences respectively) and a link (shown as broken line representing weak inference) are drawn for the '*6'-cells as shown.
An x-cycle has alternate links with strong and weak inferences. Since a strong link has both strong inference and weak inference, the following 5 cases of x-cycle can be identified. The weak inferences selected from strong links are shown in red for clarity.
x-cycle 1 & 2 are equivalent to simple colouring.
x-cycle 3, 4 & 5 are equivalent to turbot fish.
An x-cycle can be proven by double implications. Consider x-cycle No.5 above:
Nice loop notation: [r3c4]=6=[r3c7]-6-[r1c9]=6=[r6c9]-6-[r6c4]=6=[r3c4] => r3c4=6
Proof (Implications can start from any node in the nice loop):
r1c9=6 => r3c7<>6 => r3c4=6
r1c9<>6 => r6c9=6 => r6c4<>6 => r3c4=6
Therefore r3c4=6[/quote]