Jean-Christophe,
It may be surprising at first that LoL relates the contents of cells that can seem "spread all around the puzzle" as you say. But it's really a very simple principle:
Starting with a set of whole units, add some cells and subtract an equal number of other cells,
such that the result still consists entirely of whole units. (Recall that a "unit" is any row, column, or box.) That can happen only if the set(*) of digits added (including duplicate values, if any) is equal to the set of digits subtracted -- wherever they occur in the puzzle! -- otherwise the result could not consist of whole units.
(*) In order to use the language of sets, I'm using the word "digit" here in such a way that digits in different cells are
different digits, even if they have the same value -- the elements of a set are by definition distinct. Alternatively, the LoL conclusion can be stated in the language of
multisets: the
multiset of values added must equal the
multiset of values subtracted. The essential point is that the two sets of cells -- those added and those subtracted -- must have the same content, including any repeated values.
ASIDE: To have applications of LoL that are easiest to visualise, it's a convenience to make the starting set of units a collection of adjacent
rows (or columns), and to think of this set of units as being "converted" to a resulting equal-sized set of
jigsaw units by adding & subtracting some cells -- the contents of which must then "balance". (This is just my particular adaptation of LoL.)
So, as you say, in case A "R2C4 may duplicate a value in one of R789C3"; however, not only "may" it duplicate a value, it *must* duplicate a value if that's necessary for equality of the two digit-sets. (In the present puzzle there are initially duplicated
candidates in the four cells you mention, but, as you'll see below, they solve to four distinct values.)
Here's a more-detailed explanation of the second step in my solution-path posted above, where I wrote
"r4c2=7: LoL(A) (also gives r2c4=58, and 6 locked in r79c2=568)":
LoL(A) involves converting the starting set of units (c34) into two jigsaw boxes by subtracting four cells ...
RED
r2c4 = 5789
r7c3 = 12345689
r8c3 = 7
r9c3 = 134568
and adding four cells ...
BLUE
r4c2 = 23789
r5c5 = 5
r6c5 = 6
r8c5 = 8
The
true digits in RED must exactly match the
true digits in BLUE, and
vice versa.
ASIDE: Before proceeding, note the potential significance of the repeated RED 7's -- one is a known true digit, while the other is a candidate which may or may not be true (its cell may or may not solve to 7). *If* the other set (BLUE) were to have contained *two* known true 7's (which it doesn't in our case), then there would had to have been two true 7's in RED also, i.e. we could have deduced that r2c4=7. Similar remarks apply to the repeated BLUE 8's.
Now to proceed with the LoL(A) deductions ...
1st: Since r8c3=7 is a known true RED 7, there must be at least one true BLUE 7, which can only be r4c2=7.
2nd: The BLUE set now consists of just the known true digits 5,6,7,8, so this must also be the exact composition of RED. This eliminates in RED every 1,2,3,4,9 candidate, as well as the duplicate 7, so RED is now ...
RED
r2c4 = 58
r7c3 = 568
r8c3 = 7
r9c3 = 568
3rd: For r79c3 we've deduced more than just the candidates 568-568 -- we also know that one of those 6's must be true, thus eliminating all other candidate 6's in that jigsaw box.
--
PS: The general versions of LoL described above can be applied to ordinary (non-toroidal) jigsaw sudoku as well, but in that case there is also a (presumably less-powerful)
<simpler version>.
EDIT: Added comment on multisets.