Cell - one of the 81 squares in a 9x9 grid.
Unit - a row, a column or a box.
Candidate - one of the possible digits in a cell. It is also known as a pencilmark.
Bivalue Cell - a cell containing exactly 2 candidates.
Multi-valued Cell - a cell containing 2 or more candidates.
Implication Stream - a sequence of nodes and links where strong or weak inferences are made from one node to the other(s) unidirectionally from left to right. (Refer definitions for "node", "link", "strong inference" and "weak inferences" below)
- Code: Select all
Example:
Canonical format:
r1c3=9 => r8c3<>9 => r8c3=7 => r8c9<>7 => r8c9=3 => r3c9<>3 => r3c9=2 => r2c8<>2 => r2c8=1
Simplified format:
r1c3=9 => r8c3=7 => r8c9=3 => r3c9=2 => r2c8=1
Forcing Chain - a chain that has 2 or more implication streams that start from one node and end in another node where the outcomes of inferences merge from the 2 implication streams. In a forcing chain, a node can only infer the next successive node downstream.
- Code: Select all
Example:
r9c6=7 => r9c1=8 => r9c1<>7
r9c6=8 => r8c5=7 => r3c5<>7 => r3c1=7 => r9c1<>7
Therefore r9c1<>7
r3c9=9 => r3c4<>9 => r2c4=9 => r2c1<>9
r3c9=7 => (r3c1 & r1c2=89) => r2c1<>9
Therefore r2c1<>9
where (r3c1 & r1c2=89) is a node containing 2 grouped cells.
Forcing Net - same as a forcing chain, except that in a forcing net, a node could infer 2 or more nodes downstream. Such inference is regarded as a multiple inference. (Refer definition of "multiple inference" below)
- Code: Select all
Example:
*-----------------------------------------------------------------------------*
| 247 5 28 | 479 4789 1 | 6 379 3789 |
| 3 1478 6 | 479 45789 2 | 578 1579 5789 |
| 17 178 9 | 3 5678 678 | 2 157 4 |
|-------------------------+-------------------------+-------------------------|
| 79 679 4 | 5 3 679 | 1 8 2 |
| 1279 123679 23 | 8 679 4 | 57 35679 359 |
| 8 3679 5 | 1 2 679 | 4 3679 39 |
|-------------------------+-------------------------+-------------------------|
| 6 2489 1 | 479 4789 5 | 3 27 78 |
| 245 2348 238 | 6 478 378 | 9 257 1 |
| 59 389 7 | 2 1 389 | 58 4 6 |
*-----------------------------------------------------------------------------*
r9c1=5 => r9c7=8 => r7c9=7 (=> r8c8<>7) => r7c8=2 => r8c8=5 => r3c8<>5 => (r3c18=17) => r3c2<>17 => r3c2=8 => r1c3=2 => r5c3=3
r9c1=9 (=> r5c1<>9) => r4c1=7 (=> r5c1<>7) => r3c1=1 => r5c1=2 => r5c3 =3
Therefore r5c3=3
where
(=> r8c8<>7), (=> r5c1<>9) and (=> r5c1<>7) are multiple inferences.
(r3c18=17) is a grouped inference, not a multiple inference.
Network - a collective term for forcing chain and forcing net.
Multiple Inference - a network is said to have a multiple inference when a node of an implication steam infers 2 or more nodes downstream. A multiple inference network is a net and should never be described as a chain.
- Code: Select all
Example:
*-----------------------------------------------------------*
| 1245 3 24 | 78 159 459 | 789 68 469 |
| 45 7 8 | 2 59 6 | 3 1 49 |
| 6 9 14 | 3 18 47 | 78 5 2 |
|-------------------+-------------------+-------------------|
| 28 5 7 | 9 23 1 | 4 68 36 |
| 1289 6 129 | 4 235 25 | 89 7 139 |
| 149 14 3 | 6 7 8 | 5 2 19 |
|-------------------+-------------------+-------------------|
| 3 8 69 | 5 269 29 | 1 4 7 |
| 7 2 5 | 1 4 3 | 6 9 8 |
| 149 14 1469 | 78 689 79 | 2 3 5 |
*-----------------------------------------------------------*
r1c7=9 (=> r1c6<>9) => r1c7<>7 => r3c7=7 => r3c6<>7 => r3c6=4 => r1c6=5 => r5c6=2 => r4c5<>2 => r4c5=3
r1c7<>9 => r5c7=9 => r4c8=8 => r4c9=6 => r4c5=3
Therefore r4c5=3
where (=> r1c6<>9) is a multiple inference in the first implication stream.
Grouped Inference- a network is said to have a grouped inference when inference can be made between nodes containing 2 cells or more. 'Grouped x-cycle', 'grouped xy-chain' and 'almost pattern network' are examples of a grouped inference network.
- Code: Select all
Example:
+----------------+----------------+----------------+
| 7 1 4 | 2 3 9 | 8 6 5 |
| 2 5 9 | 8 6 1 | 4 7 3 |
| 3 6 8 | 57 4 57 | 2 1 9 |
+----------------+----------------+----------------+
| 4 38 7 | 56 1 2568 | 35 9 28 |
| 9 38 6 | 47 58 247 | 35 24 1 |
| 5 2 1 | 3 9 *48 | 7 48 6 |
+----------------+----------------+----------------+
| 8 9 3 | 1 7 45 | 6 25 24 |
| 6 4 2 | 9 58 3 | 1 58 7 |
| 1 7 5 |*46 2 *468 | 9 3 48 |
+----------------+----------------+----------------+
r6c6=4 => r7c6<>4
r6c6=8 => (r9c46=46) => r7c6<>4
Therefore r7c6<>4
where
r6c6=8 => (r9c46=46) is a grouped inference implying that if r6c6 is 8, then (r9c4 & r9c6) are (4 & 6).
(r9c46=46) => r7c6<>4 is a grouped inference implying that if (r9c4 & r9c6) are (4 & 6), then r7c6 is not 4.
Strong Inference - one of the 2 inference modes for links and nodes. (Refer definitions for "link" and "node" below)
- As applied to links, strong inference strictly implies "if a candidate group 'x' (where x can be one or more candidates) in the preceding node is false, then candidate group 'x' in the following node is true". An acceptable way to draw a link that has a strong inference is to use a solid line connecting 2 nodes. An acceptable notation for a link that has a strong inference is "=x=".
- Code: Select all
Example:
The notation [r2c8]=5=[r9c8] means:
if r2c8<>5, then r9c8=5; when the notation is read from left to right, or
if r9c8<>5, then r2c8=5; when the notation is read from right to left.
The notation [r46c2]=2=[r6c13] means:
if r46c2<>2, then r6c13=2; when the notation is read from left to right, or
if r6c13<>2, then r46c2=2; when the notation is read from right to left.
- As applied to nodes, strong inference strictly implies "if a candidate or a candidate group in a node is false, then the rest of the candidate(s) in the node is/are true".
- Code: Select all
Example:
Node = [r1c1] containing candidates {4,5}
This node has a strong inference "if r1c1<>4, then r1c1=5"
Node = [r1c123] containing a lockedset+1 of {4,5,6,7}
This node has a strong inference "if r1c123<>4, then r1c123={5,6,7}"
Node = [r1c1] containing condidates {4,5,6}
This node has a strong inference "if r1c1<>{4,5}, then r1c1=6"
Node = [r1c12] containing a lockedset+2 of {4,5,6,7}
This node has a strong inference "if r1c12<>{4,5}, then r1c12={6,7}"
Weak Inference - one of the 2 inference modes for links and nodes. (Refer definitions for "link" and "node" below)
- As applied to links, weak inference strictly implies "if a candidate group 'x' (where x can be one or more candidates) in the preceding node is true, then candidate group 'x' in the following node is false". An acceptable way to draw a link that has a weak inference is to use a broken line connecting 2 nodes. An acceptable notation for a link that has a weak inference is "-x-".
- Code: Select all
Example:
The notation [r4c4]-9-[r6c6] means:
if r4c4=9, then r6c6<>9; when the notation is read from left to right, or
if r6c6=9, then r4c4<>9; when the notation is read from right to left.
The notation [r7c78]-79-[r9c9] means:
if r7c78=7 and 9, then r9c9<>7 and 9; when the notation is read from left to right, or
if r9c9=7 or 9, then r7c78<>7 and 9; when the notation is read from right to left.
- As applied to nodes, weak inference strictly implies "if a candidate or a candidate group in a node is true, then the rest of the candidate(s) in the node is/are false".
- Code: Select all
Example:
*-----------------------------------------------------------------*
| 18 19 3 | 7 189 5 | 4 2 6 |
| 126 14569 249 | 3 129 29 | 7 59 8 |
| 7 59 28 | 28 4 6 | 59 3 1 |
|---------------------+---------------------+---------------------|
| 5 2 89 | 1 7 89 | 6 4 3 |
| 68 369 7 | 4 269 2389 | 1 589 259 |
| 4 369 1 | 5 269 2389 | 89 7 29 |
|---------------------+---------------------+---------------------|
| 12 14 24 | 6 3 7 | 589 589 59 |
| 9 7 5 | 28 28 1 | 3 6 4 |
| 3 8 6 | 9 5 4 | 2 1 7 |
*-----------------------------------------------------------------*
r1c1=1 => r1c2=9
r1c1=8 => (r5c1=6 & r3c3=2) => r2c1=1 => r1c2=9
Therefore, r1c2=9
where (r5c1=6 & r3c3=2) is a node containing cells r5c1 and r3c3.
Strong Node - a node that has an addition strong inference that implies if the labelled candidate of the preceding link in the node is false, then all remaining candidates in the node are true; along the flow of an implication stream. A bivalue cell and an almost locked set are examples of a strong node.
- Code: Select all
Example:
+----------------+----------------+----------------+
| 7 1 4 | 2 3 9 | 8 6 5 |
| 2 5 9 | 8 6 1 | 4 7 3 |
| 3 6 8 | 57 4 57 | 2 1 9 |
+----------------+----------------+----------------+
| 4 38 7 | 56 1 2568 | 35 9 28 |
| 9 38 6 | 47 58 247 | 35 24 1 |
| 5 2 1 | 3 9 *48 | 7 48 6 |
+----------------+----------------+----------------+
| 8 9 3 | 1 7 45 | 6 25 24 |
| 6 4 2 | 9 58 3 | 1 58 7 |
| 1 7 5 |*46 2 *468 | 9 3 48 |
+----------------+----------------+----------------+
r6c6=4 => r7c6<>4
r6c6=8 => (r9c4|r9c6=46) => r7c6<>4
Therefore r7c6<>4
Cell r6c6 is a strong node containing candidates 4 & 8.
The almost locked set or lockedset+1 [r9c4|r9c6] is a strong node grouped from cells r9c4 & r9c6 containing candidates {4,6,8}
Link a connection between any 2 nodes in a unit sharing a common candidate group (consisting of one or more candidates) known as a link label. Each link has a weak inference along the flow of an implication stream. The labelled candidate(s) of a link can appear 2 times or more in the unit housing it.
Strong Link - a link with a candidate group (consisting of one or more candidates) known as a link label, which appears only in the end-nodes of the link within the unit. Each strong link has a strong inference as well as a weak inference along the flow of an implication stream. The labelled candidate of a strong link appears exactly 2 times in the unit housing it.
Weak Link - there are currently 2 different interpretations of a weak link. Some users define it as a non-strong link with its labelled candidate group appears more than 2 times in the unit housing it. The majority define a weak link in the same way as the "link" defined above. Due to this confusion, its usage must be clearly specified or be avoided altogether.
Error Net or SIN (Single Implication Network) - a network with one implication stream that starts with a candidate selected in one node and propagates with or without multiple inferences until a contradiction is revealed. Due to this contradiction, such as 'empty cell', 'one digit appears 2 times in a unit' and 'no place for a digit in a unit', it can be concluded that the candidate selected at the start is invalid. This is also the principle of a "backtest" (Refer definition of a backtest below).
Double Implication Network- a network that requires exactly 2 implication streams to made a deduction.
- Code: Select all
Example:
r1c9=7 => r1c1=2 => r7c1=3
r1c9=2 => r2c9=5 => r3c8=6 => r7c8=4 => r7c3=8 => r7c2=2 => r7c1=3
Therefore, r7c1=3
Triple Implication Network- a network that requires exactly 3 implication streams to made a deduction.
- Code: Select all
Example:
r6c2=1 => r1c2<>1 => r1c2=2 => r3c3<>2
r6c2=2 => r6c2=2 => r7c2<>2 => r7c3=2 => r3c3<>2
r6c2=9 => r3c2<>9 => r3c3=9 => r3c3<>2
Therefore r3c3<>2
r4c5=9 => r5c6<>9 => r5c2=9
r6c5=9 => r5c6<>9 => r5c2=9
r8c5=9 => r8c2<>9 => r5c2=9
Therefore r5c2=9
Poly-implication Network- a network that requires n number of implication streams to made a deduction.
Bilocation/Bivalue Plot or b/b plot - a diagram produced by drawing links of "strong inference" and "weak inference" on a candidate grid for identification of forcing chains, forcing nets and SINs.
Nice Loop - A series of nodes connected by links that form a closed loop that follows a set of nice loop propagation rules, enabling valid forcing chain inferences to take place. Each nice loop represents a forcing chain or a forcing net.
- Continuous Loop- a nice loop with inferences that obey the nice loop propagation rules continuously in a cyclic manner.
- Discontinuous Loop- a nice loop with inferences that obey the nice loop propagation rules except at a discontinuity where the deduction is made.
- Strong Inference Loop - a nice loop with all links that make pure strong inferences to yield a deduction in the form of an inclusion, ie. Strong wing, Strong ring, Strong-cycle.
- Weak Inference Loop- a nice loop with all links that make pure weak inferences to yield a deduction in the form of an exclusion, ie. xy-wing, xy-ring, xy-chain.
- Alternating Inference Loop- a nice loop with all links that make strong and weak inferences alternately to yield a deduction in the form of an inclusion or exclusion , eg. x-cycle, x-wing & Turbot fish.
- Mixed Inference Loop - a nice loop that is mixed with links that make strong inference as well as links that make weak inference to yield a deduction in the form of an inclusion or exclusion.
- Simple Nice Loop - a nice loop in which each node contains one single cell and makes one inference to the next cell.
- Multiple Nice Loop or Multiple Inference Nice Loop - a nice loop in which more than one inferences are made from a node to other nodes downstream. A poly-implication forcing chain can be expressed as a multiple nice loop.
- Grouped Nice Loop or Grouped Inference Nice Loop - a nice loop in which a node may contain 2 or more cells, eg. Grounded x-cycle, Grouped xy-chain, Strong nice loop, Weak nice loop, Almost x-wing nice loop, Unique pattern nice loop, xyz wing, Almost locked set xz rule, SueDeCoq, Broken wing, Fillet-O-fish, Empty rectangle, etc.
x-cycle - a chain in which all nodes are linked by a single digit 'x' with links that make alternate strong and weak inferences to yield deduction(s). A x-cycle can be of any length. It can be continuous or discontinuous. The following patterns are subsets of x-cycles:
- x-wing - a continuous x-cycle of length 4.
- Swordfish of 222 formation - a continuous x-cycle of length 6.
- Simple Colouring and Multiple Colouring - a discontinuous x-cycle of length n.
- Turbot Fish - a discontinuous x-cycle of length 5.
- Turbot chain - a discontinuous x-cycle of length n, where n = 5, 7, 9, ....
- xy-ring - a continuous xy-chain of length 4.
- xy-wing - a discontinuous xy-chain of length 4.
- Strong ring - a continuous strong-cycle of length 4.
- Strong wing - a discontinuous strong-cycle of length 4.