Your definition falls down when faced with real world problems. I can write a 'perfect' chess program in less than a day that could easily run on a PC, however it's run time would make it useless in the real world. Crossing the Atlantic is an easy problem now, but that does not mean it was easy 500 years ago even though mathematically nothing has changed. And in 500 years computer vision is probably going to be considered a vary easy problem often done as a high school level project, but that does not mean it's easy now.
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.)