A General Logic for Sudoku

A basic guide to applying general logic



Points. The following summarizes everything about general logic from simple to complex.  



Quick Description of general logic, how it applies.


1.    Every elimination is based on two groups of sets. A group of truths that contain all the candidates in the logic and a group of links that contains the same candidates and possibly others that are potential eliminations.

2.    The number of links minus the number of truths is called rank, which relates to the number of missing constraints. Rank is a distributed property that applies everywhere within the logic except as explained below.

3.    Rank 0 eliminates any additional candidates inside of links. Common examples of rank 0 logic include singles, locked candidates, ALCs, X-wing, swordfish, etc.

4.    Rank 1 eliminates any additional candidates where two links overlap. Many Sudoku methods fall into this category such as finned fish, chains, discontinuous nice loops, etc.

5.    Ranks 2 (or 3) logic requires 3 (or 4) simultaneously overlapping links to cause eliminations.

6.    Ranks higher than 3 can only cause eliminations when combined with triplets, described next.

7.    A triplet is a single candidate that connects three sets. A strong-triplet connects two truths and one link, weak-triplet connects two links and one truth. Triplets "point" in the direction of the minority set, i.e., the link direction of a two truth triplet. The two types of triplets are similar but have different properties.

8.    Triplets can divide logic into high rank and low rank regions and thus change the number of overlap links required to eliminate a candidate, but this follows specific rules. When weak triplets point in the direction of a candidate, it may reduce rank and the number of overlap links required to eliminate a candidate..

9.    Strong triplets can increase rank and the number of overlap links required to eliminate a candidate because they can reduce the number of truths guaranteed to be in the logic. Weak triplets cannot.

10.  When a weak triplet can lower the rank of an entire area, which usually extends from the triplet's truth to the first bifurcation that has independent paths back to the triplet's two links. To understand strong triplets, swap the terms truth and link in the preceding sentence.  

11.  The candidate in a strong triplet with an unconnected link can be assigned in rank 0 logic.

12.  When triplets are aligned correctly, their effects can be additive. However, complex arrangements often require further logical consideration.

13.  When two blocks of logic are (hypothetically) combined, each retains its original rank internally and the rank of the combined logic is the sum of the  individual ranks. Eliminations can occur when links of different blocks overlap based on the overall rank and triplets used to link blocks.

14. Logic containing odd length loops of truths can contain dark logic, which works similar to broken wings. The dark logic part contains only the candidates from the truths that logic illegal. (Illegal logic means there is no valid arrangement of candidates that satisfies the rules of Sudoku)

15. A dark loop has a rank of minus 1. For solving, a dark loop can be ignored and the remaining candidates in truths can be used as a single virtual truth. The virtual truth can then be used like a normal truth and be combined with other logic. A virtual truth can have many candidates and span rows, columns, and boxes.



Referring to truths and links


The upper case letters RCNB are used to refer to truths rows, columns, cells, and boxes respectivly. Lower case letters rcnb usually refer to links or cover sets.Lower case letters refer to links


R(row, digit),   C(column, digit), N(row, column),  B(box, digit)  truths

r(row, digit),   c(column, digit), n(row, column),  b(box, digit) links


These are sometimes written with swapped digits.


(digit)R(row), (digit)C(column, digit), (row)N(column),  (digit)B(box) truths

(digit)r(row), (digit)c(column, digit), (row)n(column),  (digit)b(box) links


Groups like c51, c53, and c59 are often written as c5(139).



Notation for eliminations


The base and cover sets for logic are sometimes written as:


{R46 C5(139) C76 N23 N3(12)} r26*c56 => r2c5 <> 6.

which is of the form:


{list of covering links}<overlap links> => <assignments> or <eliminations>


In some cases <overlap links> are replaced with a list of covering links:


Rank1: {R46 C5(139) C76 N23 N3(12)}, {r26 r3(16) c66 n(146)5 b1(45)} => r2c5 <> 6.