I see only two strategies here (there may be others):
[1] Look for a decision tree solution - that's the way I originally solved the problem. Evidently its the way you started. It works if you see it through.
[2] Look for a "signature" function (may also be called "trace" or "fingerprint".)
All the rest is just details of working the problem, though they may be suggested by the strategy. Noticing the forms of the logical assertions is just one of the things you do if your main strategy is "decision tree". I would have never said it that way when I first solved the problem, I would have just said "*this* is what I know after *that* weighing". But I noticed the form anyway. Its just paying attention.