Champagne, You've caused me to break a promise I made to myself to stay out of this. I thought DonM had taken up the baton but it appears he's dropped it.
While I accept that for beginners the understanding weak and strong links is a hurdle, I have little sympathy for those with years of experience still have problems digesting the difference between them. It seems that they have been gulping their food rather than chewing it first!
That said, most strong links used in basic chains are conjugate and can also be used as weak links which I admit is confusing at first. But look at this chain: (1=2)r1c1 – (2=3)r1c9
This proves that there's a strong link (1)r1c1 = (3)r1c9 but that doesn't mean if one is true the other is false, and that is what AICs are all about.
Combining these cells into (123)ANS:r1c19, (1=3)r1c19 is a strong link as 1 and 3 can't both be false, however both could still be true so there is no alternative weak link.
Changing subject, here's the existing convention for group nodes (nodes that consist of more than one cell)
(1)r1c123 true when any of these cells holds 1, false otherwise
(12)r1c123 true when two of these hold 1 AND 2, false otherwise
(123)r1c123 true when together these cells hold 1 AND 2 AND 3, false otherwise
Therefore there are implied logical AND operations between the listed candidates which saves having to write (1&2&3)r1c123
(1|2)r1c123 uses a logical OR symbol to mean true when these cells hold either candidate, false when they hold when neither of them.
So when the candidates in a cell are 123 we can write (1=2|3)r1c1 and the link to the next node then becomes 2 OR 3.
This can be used in group nodes too eg (12=3|4)r1c12
Myth Jellies suggested using (12=34#1)r1c12 where #1 signifies the minimum number of truths to be held by 3 & 4 to make the second term true.
Checking this out, 12 will be false when one or both of these digits is false, so 34#1 will be true when one or both of them are true.
I like this because it stands out better and (123#2) is awkward to express using logical operators. I've been using this for several years now and it handles the AAHS situations that concern you.
I have never yet found a situation where a logical XOR (exclusive or) has been needed, but perhaps that's because I haven't been actively searching, but simply waiting for one to hit me. [
Edit: What was I thinking? That's wrong as I often use conjugate chains which is what a XOR interence represents. It's just that they don't mix with AICs, and have to be translated into weak and strong links.]
Regarding SK loops, in my view these aren't pure AICs because they represent three rather that two divisions of the truths
- Code: Select all
*-------------* (12=34)r2c13 – (34=56)r13c2
| . 345 . | Truths 0 2 0 2
| 134 . 124 | 1 1 1 1
| . 456 . | 2 0 2 0
*-------------* (12=34#1)r2c13 – (34=56#1)r13c2
(12#1=34)r2c13 – (34#1=56)r13c2
As usually notated in the top line, the inferences used aren't logically valid under Eureka conventions. To express these loops as AICs would need the two chains shown in the bottom lines. (I'm not suggesting we do that, simply that we shouldn't think of these loops as regular AICs).
As to whether I intend to contribute further, I've been there, done that, and got the broken nose and cauliflower ears to prove it, so please include me out – at least until there is a wider interest than is shown at present.