Hi Robert,
Mauriès Robert wrote:what is obvious for the creator of a concept is not necessarily obvious for the user.
Indeed.
I take an example to explain myself, with the z-chain [3]: c8n1{r9 r1} - c8n3{r1 r8} - r9c9{n3 .} ==> r9c8 ≠ 7 of the Denis resolution of this Spiral 8.3 puzzle.
If I write it like this: c8n1{r9 r1} - c8n3{r1 r89} - r9c9{n3 n7} => r9c8 ≠ 7, is this correct from Denis' point of view ?
Denis already explained why it's not, but let me add my take on it. First, I completely understand why you would like to write it like that. Originally that would have been natural for me, too, and I had a hard time understanding Denis' chains with obvious group nodes written as single candidates. I also thought that, even if he chose to write them like that, it wouldn't hurt to write them as groups to make them more intuitive for myself. I was wrong.
There's a good reason why that rlc must not be written as a group. As Denis said, it would make it look like a g-z-chain -- a more complex (though officially undefined) type in Denis' hierarchy -- and it's not. Instead, the 3r9c8 is a z-candidate so it can't be part of the rlc. One clear benefit of Denis' system is that it gives an unambiguous idea of (some parts of) the complexity of a chain, and that must not be ruined by ad hoc changes to the syntax even if they seem intuitive.
If a chain has the g- or S-prefix it really means that it can't be written without a group or a subset node (as an rlc), at least with that chain type, which makes it inherently more complex than the basic variant of the same. For you it also means that building the corresponding track would need those basic techniques and not just singles. On the other hand, any chain/whip/braid without such prefixes unfolds with singles only, and Denis' notation corresponds with that. Thus, if you write a group node in a basic z-chain, that correspondence no longer works, because it incorrectly implies that more than singles are needed.
I ask this question because it seems to me more understandable to the user :
1) to display all the candidates of each CSP variable
I completely understand as that's also been my main criticism of Denis' notation. However, I've slowly learned to accept the philosophy behind Denis' choice of abstracting the zt-candidates away. Even so, it's not intuitive or easy to follow without actually running the logic in the grid -- but yours is much harder because it doesn't even have llcs!
That said, I agree that there should be a readable way to optionally add the missing z- and t-candidates to the notation, because it would immensely help learning the idea. The natural place for them would be between the llc and the rlc (instead of to the right as I've seen somewhere). For example:
z-chain[3]: c8n1{r9 r1} - c8n3{r1
r9z r8} - r9c9{n3 n7} ==> r9c8 ≠ 7
for me this z-chain I would write it with an anti-track in this way P'(c8n1r9) : (-c8n1r9) =>c8n1r1->c8n3r89->r9c9n7->... => r9c8 ≠ 7.
Despite a bit of practice I still can't read Denis' coordinates fluently (and probably never will (*)), so I must translate that:
P'(1r9c8) : -1r9c8 -> 1r1c8 -> 3r89c8 -> 7r9c9 => -7r9c8
I agree that with that anti-track you do need the group node. The same with the corresponding AIC:
Grouped M3-Wing: (1)r9c8 = (1-3)r1c8 = r89c8 - (3=7)r9c9 => -7 r9c8
However, note that neither depicts the z-chain (or z-whip) directly. For that you need to use a track or a contradiction memory chain:
P(7r9c8) : ((7r9c8 -> 1r1c8) -> 3r8c8) -> contradiction (r9c9 empty) => -7r9c8
(7*-1)r9c8 = r1c8 - (3)r1*9c8 = r8c8 - (3|*7=!)r9c9 => -7 r9c8
Wouldn't you agree that there's no need to use the group node in either case? If so, then you should understand why it's not correct in the z-chain either.
2) indicate the candidate that causes the target to be eliminated. Indeed, at the start of the sequence, 3 candidates generate the partial whip [1] : c8n1{r9 r1}.
I don't understand this part. The csp-variable c8n1 only has two candidates.
If the whips had been written the way I just did, it would certainly have taken me less time to understand them better!
It may seem so (it certainly did for me originally), but you would have learned them incorrectly. There are ways to make them easier to learn but not this.
--
(*) As I said a long time ago, Denis' csp-variables would be a whole lot easier to read for me (and probably many others) if they were written in the natural nrc-order (instead of rcn), as they originally were:
z-chain[3]: n1c8{r9 r1} - n3c8{r1 r8} - r9c9{n3 n7} ==> r9c8 ≠ 7
That small change is still very much on my wish list. This might be even quicker to read, but it would split some of the csp-variables, so I'm sure Denis wouldn't even consider it:
z-chain[3]: n1{r9 r1}c8 - n3{r1 r8}c8 - {n3 n7}r9c9 ==> r9c8 ≠ 7