I think this may be an impossible job! Should take into account the RCN,RNC,NCR,BNS grids
I will try to harvest stuff from the Forum, Sudopedia, Robert Hanson, Andrew Stuart (has some great diagrams), HoDoKU and of course biG - That's me and perhaps the "least reliable" source. But Hey it makes me HAPPY
Hey, I even found one of my own links on the subject from the past
http://forum.enjoysudoku.com/chain-notation-in-my-trace-t31469.html
I am [sure?] I will get many more!
***********************************************WIP = Work In Progress ****************************************************************
candie/s for candidate/s (shorter & easier to spell & some can die!)
brackets: (braces have too many other meanings
round = ()
square = []
curly = {}
arrow = <>
links can be BV|BL bi-value | bi-location
Use C bitwise operators
& = and, | = inclusive or, ~ = not
~ before r,c,n means NOT those
assert/unassert (+ and -) symbols in context
negate: exclamation !
remove: minus sign -
set: equal sign =
link: weak = *, (strong = @ if needed!)
term: semi-colon ; to separate statements
prefix: full colon :
grids:
xyz = rcn | rnc | ncr | bns
singles generically: (insert minus sign at end if removal)
rRcCnN | rcn: RCN; | RCN
rRnNcC | rnc: RNC;
nNcCrR | ncr: NCR
bBnNsS | bns: BNS
set singles specifically prefix above notation with:
n for naked
b in blk if not in col or row
c in col if not in row
r in row
Intersections: c2:@; c3:@, p2:@, p3:@ (only occur in rcn grid)
-------------------------------------------------------------
Locked Candidats Type 2 - Claim (using claiming vector)
---------------------------------------------------------
c2: claiming vector with 2 cells in claiming vector
c3: claiming vector with 3 cells in claiming vector
Locked Candidates Type 1 Point (using pointing vector)
------------------------------------------------------------
p2: pointing vector with 2 cells in pointing vector
p3: claiming vector with 2 cells in pointing vector
-----------------------------------------------------------
chains:
colors orange for asserted, blue for unasserted, red for removal
geen for set
use round brackets when needed
r1c2n23 > (r1c2n2, r1c2n3)
r45c1n7 > (r4c1n7, r5c1n7)
r3(c123,c7)n5 > -n5 in c1 & c2 & c3, +n5 in c1 of r3
r7(c345,c67)n9 > -n9 in c3 & c4 & c5, +n9 in c6 | c7 of r7
if the implications of the chains are automatically applied in
the APP then don't need to use > *
use 0|x|X as contradiction indicators in context
use ? as dont know/care
can be groups as apporiate
No Loops
forcing:
A * (a,B) * (b,B) * (b,C) > result
or A > B > C > ... > result
X-Chains C-Chains (DB)
XY-Chains
Nets are OR connection of multiple chains
-----------------------------------------------------------
patterns
N = number of cells/digits in pattern
PatN: *
* could perhaps be expressed in the non-RCN grids
Pat3:r234c157n5 OPT > "removals"
where OPT = (rnc: r234n5c157) OPT is optional!
Pat3: replaces "swordfish" in this case
--------------------------------------------------------
trace formatting
1. 234;567;355
4. p2:b5c6n2; p3:b6r8n5
6.