**Unicity**

All Verifiers are required to deduce the code, but you don't necessarily need to *use* them all! You can gain a lot of information simply from noting which ones are present. Let's take an example, the Verifiers are:

A) blue is odd | blue is even

B) blue >1 | blue = 1

C) no 4 | one 4 | two 4 | three 4

D) blue <4 | blue >3

So firstly, if the answer is '444', that would mean that the Verifiers A, B, and D would not be required since C alone could find the solution. That is not possible, so it's not 444.

You can see that we have very little information about yellow and purple. No Verifiers give any information about yellow or purple to deduce their values amongst 1, 2, 3, or 5.

The only information we could have for yellow and purple is regarding the number of 4 -- the total number of 4s (C). So we can deduce yellow and purple must be equal to 4 (said differently, if you find that the final solution is 414, then you will have differents solutions for yellow like 424, 434, 454 and no way to distinct them from each other, and this isn't possible. So yellow can't be 1, 2, 3, or 5. So y=4. Same for purple)

Furthermore, if blue was equal to 1, then B&C would be enough (i.e., A and D would not be required -- impossible) to tell the combination is 144. So blue isn't equal to 1.

If blue was 4 or 5, then B will be useless compared to D. Said differently, A&C&D are enough to tell if it's 444 or 544, and B would be useless, which isn't possible. So B isn't 4 or 5.

So, the two remaining combinations possible are 244 and 344.

But now, consider 244. Verifier C tells you there are 2 4s, D tells you blue is 1/2/3, A says it's the even one = 2 ... you didn't need to use B. But all Verifiers are required so blue cannot be 2, and it's not 244.

And so it's exactly 344 with 0 check.

And we can verify it:

- with those answers (blue odd, blue>1, two 4s, blue<4), there is only one possibility: blue is forced to be at 3, and so y & p are forced to be at 4

- if you remove Verifier A, there is 2+ solutions: 244 & 344

- if you remove Verifier B, there is 2+ solutions: 144 & 344

- if you remove Verifier C, there is 2+ solutions (25): per example 325 & 314

- if you remove Verifier D, there is 2+ solutions: 344 & 544

So every Verifier is useful, and there is only one possibility at the end. Without the reasoning above, that just mean it's a valid solution, not that it's the only one.