A Simple Direct Proof For Forcing Chains Using Sets

Advanced methods and approaches for solving Sudoku puzzles

A Simple Direct Proof For Forcing Chains Using Sets

Postby Myth Jellies » Tue Nov 29, 2005 9:58 am

I'm not sure if something like this has been presented in this forum. I have seen recent comments which have implied that people have not seen a direct proof that avoids all taint of trial and error.

Given antecedent P which is the following linked cell pattern:
Code: Select all
    ab - bc - cd
   /           |
 Xa            |
   \           |
    af - ef - de


we wish to show directly that P implies Q, where consequent Q is the removal of 'a' as a possible candidate from the Xa-cell. Most proofs for this will show that P implies Q by proving the contrapositive; i.e. they assert "not Q" and show that it implies you can't satisfy P (in other words, ~Q implies ~P). Since assuming ~Q and proving ~P is the same as assuming that the Xa-cell equals 'a' and then finding a contradiction, some purists have avoided the forcing chain method because they have only seen it proven using a "T&E" tactic. This proof will avoid any assumptions about the content of the cells beyond what is given in P.

let A = set of solutions placing a in the ab-cell.
let B = set of solutions placing b in the ab-cell.
let B' = set of solutions placing b in the bc-cell.
let C = set of solutions placing c in the bc-cell.
let C' = set of solutions placing c in the cd-cell.
let D = set of solutions placing d in the cd-cell.
let D' = set of solutions placing d in the de-cell.
let E = set of solutions placing e in the de-cell.
let E' = set of solutions placing e in the ef-cell.
let F = set of solutions placing f in the ef-cell.
let F' = set of solutions placing f in the af-cell.
let A' = set of solutions placing a in the af-cell.
let A" = set of solutions placing a in the aX-cell.
Note that any of these sets could equal the empty set, thus no assumption is made here about the content of any of the various cells

From the content of the cells we do get the following equations:
A = not B; B = not A;
B' = not C; C = not B';
C' = not D; D = not C';
D' = not E; E = not D';
E' = not F; F = not E';
A' = not F'; F' = not A';

Note the subset relationship that if S is a subset of T,
then (not S) contains (not T).
It is used at the end of each of the following steps.

from the B-B' link we get B' is a subset of (not B);
therefore, from the equations above, B' is a subset of A;
hence C = (not B') contains (not A);

from the C-C' link we get C' is a subset of (not C);
therefore, from the equations above, C' is a subset of B' is a subset of A;
hence D contains (not A);

from the D-D' link we get D' is a subset of (not D);
therefore, from the equations above, D' is a subset of C' ... is a subset of A;
hence E contains (not A);

from the E-E' link we get E' is a subset of (not E);
therefore, from the equations above, E' is a subset of D' ... is a subset of A;
hence F contains (not A);

from the F-F' link we get F' is a subset of (not F);
therefore, from the equations above, F' is a subset of E' ... is a subset of A;
hence A' contains (not A);

due to links with A and A', A" is a subset of (not A), and A" is a subset of (not A').
taken together, this means A" is a subset of (not (union of A and A')).
but since A' contains (not A),
the union of A and A' >= union of A and (not A) = universal set of 'a' solutions.
and not (union of A and A') = empty or null set.
Thus A" is a subset of the empty set.
Since the only subset of the empty set is the empty set, we have
A" = empty set;
and from our definition of A", we know that if A" is the empty set, then 'a' can be removed as a candidate from the aX-cell.

Thus we have shown that P implies Q without any unwarranted assumptions about the contents of any of the cells.

This is valid no matter how many solutions the puzzle has. I think it should be reasonably easy to show via induction that the length of the chain can range from just an Xa and two ab-cells (essentially a naked pair situation) to as long a chain as the puzzle grid will allow.

It probably wouldn't take much tweaking to use this style of proof for all kinds of forcing net/chain hypotheses.
Myth Jellies
 
Posts: 593
Joined: 19 September 2005

Postby r.e.s. » Wed Nov 30, 2005 4:49 am

MJ,

Two points I would like to mention ...

(1) For a given puzzle (which has only one solution), you call the elements of your sets solutions -- but the Xabcdef-chain under discussion appears in candidate grids (grids whose elements are sets of candidates for the respective cells) rather than in solutions. So the proof will make more sense, istm, if you revise it by replacing the term "solution" by something like "valid candidate grid", meaning a candidate grid consistent with the correct (unique) solution of a given puzzle.
E.g., let the universe U be the set of valid candidate grids for a given puzzle; then,
A'' = {g in U: an Xabcdef-chain appears in g, and Xa-cell solves to 'a'}, and
(g in A'') means g is a valid candidate grid for the given puzzle, and has an Xabcdef-chain whose Xa-cell solves to 'a'.

(2) With the suggested revision, and if I don't err, your method of proof using successively-derived subset relations is entirely equivalent to the following ...

In the context of a given puzzle, use the abbreviation ((ab-cell<>a) => (ab-cell=b)) to mean
(ForAll valid candidate grids in which an Xabcdef-chain occurs, (ab-cell<>a) => (ab-cell=b)),
where (ab-cell=a) means the ab-cell solves to 'a', etc.
Then because of the links between the relevant cells, we have the following sequence of implications ...
(ab-cell<>a) => (ab-cell=b) => (bc-cell<>b) => (bc-cell=c) => ... => (af-cell=a);
hence ((ab-cell=a) OR (af-cell=a)) is an always-true statement, denoted by true,
so its negation, ((ab-cell<>a) AND (af-cell<>a)), is an always-false statement, denoted by false;
but ((Xa-cell=a) => ((ab-cell<>a) AND (af-cell<>a));
therefore (Xa-cell=a) is false, since only a false statement implies a false statement.
(NB: Formally, false is equivalent to a contradiction.)

I suppose that many have intuited this second form of proof, although they may not have bothered to write it all out.
r.e.s.
 
Posts: 337
Joined: 31 August 2005

Postby Myth Jellies » Thu Dec 01, 2005 7:02 am

r.e.s.

(1) Since I am considering solutions to all of the possible puzzles that could be wrapped around the linked cell pattern, P, I think my descriptions of my sets are pretty clear as they stand. I could have been more clear, perhaps, with my indication that all the little letters and X represent cell candidates, but I think my antecedent is pretty solid as it stands as well. Because of some other threads that have shown up in this forum, I wanted to avoid using the uniqueness clause if I could.

(2) This is very similar, except for two things. Your assumption that ab-cell was not a, and your last second assumption of Xa = a and then deriving a contradiction, rather than just directly proving that (ab = a OR af = a) implies Xa <> a. I tried to avoid those kinds of assumptions, though it is possible I have unwittingly included them in my proof.
Myth Jellies
 
Posts: 593
Joined: 19 September 2005

Postby r.e.s. » Fri Dec 02, 2005 4:26 am

Myth Jellies wrote:(1) Since I am considering solutions to all of the possible puzzles that could be wrapped around the linked cell pattern, P, I think my descriptions of my sets are pretty clear as they stand. I could have been more clear, perhaps, with my indication that all the little letters and X represent cell candidates, but I think my antecedent is pretty solid as it stands as well. Because of some other threads that have shown up in this forum, I wanted to avoid using the uniqueness clause if I could.

Thanks for explaining ... What wasn't clear to me is that your proof does not suppose an arbitrary-but-fixed puzzle in which the Xabcdef-chain appears; rather (if I now understand), it supposes only the Xabcdef-chain itself, and the other cells are not otherwise constrained. With this understanding, my alternative formulation can be kept exactly as-is, except for changing the meaning of the abbreviation ((ab-cell<>a) => (ab-cell=b)) to now be (ForAll solutions consistent with the Xabcdef-chain, (ab-cell<>a) => (ab-cell=b)), where (ab-cell=a) means the solution places 'a' in the ab-cell. Everything else remains formally the same. I'll give a more detailed step-by-step comparison below.

On the matter of assuming a unique solution ... Although I'll abandon the "arbitrary-but-fixed puzzle" approach in order to maintain a formulation equivalent to what you intend, just for completeness it should be said that a unique solution is not an essential assumption for that first method: a valid candidate grid needs only to be redefined as one that's consistent with any one of possibly-many solutions to the arbitrary-but-fixed puzzle. But anyway ...

Myth Jellies wrote:(2) This is very similar, except for two things. Your assumption that ab-cell was not a, and your last second assumption of Xa = a and then deriving a contradiction, rather than just directly proving that (ab = a OR af = a) implies Xa <> a. I tried to avoid those kinds of assumptions, though it is possible I have unwittingly included them in my proof.

Every step of the alternative formulation is inherent in your proof -- they're not merely similar, but entirely equivalent. To make this as evident as possible, I'll write two whole proof-sketches in a side-by-side comparison:
Code: Select all
Here "solution" is any solution consistent with the Xabcdef-chain, (ab-cell=a) means (the solution places 'a' in the ab-cell), etc., (~A) means (the complement of A), (<) means (is a subset of), and (====) means (is equivalent to) ...

Because of the links between the relevant cells, we have

ForAll solutions, (ab-cell<>a) => (ab-cell=b)    ====   ~A  <  B
ForAll solutions, (ab-cell=b)  => (bc-cell<>b)   ====    B  < ~B'
ForAll solutions, (bc-cell<>b) => (bc-cell=c)    ====   ~B' <  C
ForAll solutions, (bc-cell=c)  => (cd-cell<>c)   ====    C  < ~C'
ForAll solutions, (cd-cell<>c) => (cd-cell=d)    ====   ~C' <  D
ForAll solutions, (cd-cell=d)  => (de-cell<>d)   ====    D  < ~D'
ForAll solutions, (de-cell<>d) => (de-cell=e)    ====   ~D' <  E
ForAll solutions, (de-cell=e)  => (ef-cell<>e)   ====    E  < ~E'
ForAll solutions, (ef-cell<>e) => (ef-cell=f)    ====   ~E' <  F
ForAll solutions, (ef-cell=f)  => (af-cell<>f)   ====    F  < ~F'
ForAll solutions, (af-cell<>f) => (af-cell=a)    ====   ~F' <  A'
hence,
ForAll solutions,
(ab-cell<>a) => (af-cell=a)                      ====   ~A  <  A'
consequently,
ForAll solutions,
(ab-cell=a) OR (af-cell=a) = true                ====   (A Union A') = Universe
so
ForAll solutions,
(ab-cell<>a) AND (af-cell<>a) = false            ====  (~A Intersect ~A') = EmptySet
but
ForAll solutions,
(Xa-cell=a) => (ab-cell<>a) AND (af-cell<>a)     ====    A'' < (~A Intersect ~A')
therefore
ForAll solutions, (Xa-cell=a) = false            ====    A'' = EmptySet

NB: When you write (~A = B), part of the meaning is just (~A < B), whose formal definition is
ForAll s, (s in ~A) => (s in B)
which is precisely equivalent to
ForAll solutions, (ab-cell<>a) => (ab-cell=b)
because A is the set of solutions that place 'a' in the ab-cell, etc.

If for some reason I still haven't captured your intended meaning, I believe the above is enough to show that
however you intend the sets to be interpreted, your proof is equivalent to a formulation of the kind described.
r.e.s.
 
Posts: 337
Joined: 31 August 2005


Return to Advanced solving techniques