I don't know what theory you are referring to, but these are two very different problems.
The problem for the human is simply to look at data that's reported and presented to them (the solution) and verify whether that particular solution is valid. The problem for the checker is to find a valid solution among the universe of finds. This can be a very different problem.
Let me give an example. Consider a challenge to find two caches that are exactly 1000 miles apart (or within 0.1 miles of 1000, say 999.9 to 1000.1 miles apart). You can see that if I provide you a solution: "I found GC12345 and GC23456 and they are 999.94 miles apart" it is very easy to verify whether or not that statement is true. However, if I provide you a universe of 10000 cache finds and ask you to find a pair in there that meets the requirement, it's like looking for a needle in a haystack. Very hard. Once you do find the needle it's easy to prove that indeed it's a needle, but actually finding it is a very difficult problem for the checker.