So why is robot.walk_to(...) "obviously harder to implement"? How could we know that simpler implementations will never be discovered? What you call "immense work" is not even a century's worth. In hundreds of years, making a robot walk convincingly might be no more difficult than implementing an effective chess AI.
I suppose I'm getting at a concept of minimality (like Komolgorov complexity). Just having a solution does not mean it's a minimal solution. We know enough to say perception is harder right now but not enough to say perception is intrinsically harder. We can't know that new breakthroughs (or just lots of gradual development) won't make these problems simple ones.
(*Actually, I do agree that lots of smart people failing at a problem is probably a good indicator that the problem is hard. This is still no guarantee though.)
Again, this might follow if, say, nobody had ever tried to come up with such tools, and we were going to try for the first time this year. But people have been trying, and failing, and failing. Of course it will be easier when the tools exist; robot.walk_to(grocery_store) is as easy as any other function to call, but it is obviously much harder to implement.
In the "mathematical sense" I can simply assert the existence of "recognize_character(image_matrix)". In reality, the complexity of such a function is obviously much higher than, say, a Prolog implementation.
You keep retreating into theory, but again, that's not the world we live in. The world we live in is one in which the problem of sensorimotor perception and manipulation has received immense work on it, and remains in a state in which it is still wildly less capable than my dog in most ways, whereas we were knocking out things like SAT solvers that blow humans away (which are notably incapable of holding very many symbols in their heads at once) decades ago. It doesn't matter if you can theorize a world in which perceptual problems are easier than sensory problems; we don't live there.