Thanks for your TDP example!
Mauriès Robert wrote:1) P(2r5c56)={6r4c4, ...} and P'(2r5c56)={2r6c56, 5r6c8, 5r79c7, 5r2c9, 6r1c9, 9r1c6, 9r5c5, 6r4c4,...} => r4c4=6 + 5 validation and 1 elimination by basic techniques.
Here's how I'd write the equivalent logic as an AIC:
(7=12)r6c56 - r5c56 = (2456-9)r5621c9 = r1c6 - (9=127)b5p689 => +7 r6c6 (=> +6 r4c4, ...)
2) P(1r9c1) and P(2r9c2) are conjugated, because P'({1r9c1,2r9c2})={6r8c5, 3r8c3, 8r9c6,... contradiction} => P'({1r9c1,2r9c2}) invalid.
This part is interesting! You're basically establishing a derived strong link between 1r9c1 and 2r9c2. That's creative! Here's how I'd write that piece of logic:
(1|2=68)r9c12 - (6|8=196)r8c348 - (6)r7c8 = r7c123 - (68=1|2)r9c12 => +(1|2)r9c12
I like that. However, it seems that we have a bit of a terminology clash that I didn't notice before when you talked about conjugated tracks. When we say two things are conjugated it means they have an XOR relationship (like par candidates in GEM), i.e. exactly one must be true. You've only established that at least one must be true (strong link), but not that they both couldn't be (weak link). Thus the relationship is OR, not XOR, and thus not conjugate in our terminology. It's what we would call a strong-only link between the two candidates (at least one must be true, but both could be). The distinction is important. For example, if you could prove that 1r9c1 is true it wouldn't automatically invalidate 2r9c2, like it would if they were truly conjugate.
P(1r9c1)={1r9c1, 46r15c9, 3r7c1, 8r3c1, 8r2c8, ...} and P(2r9c2)={2r9c2, 38r3c12, 8r2c8, ...} => r2c8=8.
So here you're using the derived OR between those two tracks. That works, but I think you're using it a bit inefficiently. My coloring with those two reveals five common singles: +1r9c1 => +3r3c2, +3r7c3, +8r2c8, +8r3c2, and additionally +2r7c2 (because 2r9c2 runs into a contradiction). In fact, it would be enough to show that 2r9c2 -> contradiction, because it would give us both +2r7c2 (naturally) and +1r9c1 (due to the derived strong link). As an AIC:
grid: Show
[(2)r7c23 = (2,91)r715c6 - (18)r6c53 = (832)b1p678] = (8)r8c3 - (8=13692)b8p45678 => -2 r9c2 => +1 r9c1
That would get us here:
- Code: Select all
.-------------.------------------.-----------------.
| 46 1 246 | 5 8 29 | 7 3 269 |
| 7 9 26 | 124 123 123 | 145 8 1256 |
| 8 3 5 | 1249 7 6 | 149 129 129 |
:-------------+------------------+-----------------:
| 2 7 3 | 6 5 4 | 8 19 19 |
| 46 56 146 | 8 129 129 | 3 7 245 |
| 9 58 148 | 3 12 7 | 6 25 245 |
:-------------+------------------+-----------------:
| 3 2 69 | 7 4 159 | 159 1569 8 |
| 5 4 689 | 19 1369 1389 | 2 169 7 |
| 1 68 7 | 29 269 2589 | 59 4 3 |
'-------------'------------------'-----------------'
Hodoku offers a neat final move for that puzzle state:
hodoku final move: Show
Back to your solution:
3) Like you, to make it quick, P(1r3c8) invalid, P(2r3c8) solution.
I don't fully understand this last part. As you can see in the grid above, even with my extra placements there are still three candidates in r3c8. What happened to your 9r3c8? If you want to prove +2r3c8 directly like that, I think you should invalidate both 1 and 9 in r3c8 (or otherwise 19r34c8, or more simply 2r6c8). Maybe that's what you meant, but it should be stated more clearly, like: P(19r34c8) invalid (my preference) or P(1|9)r3c8 invalid. Do you agree?