Earlier quoted context omitted.
It has to though. X = Y; // what should change?
In a declarative language, nothing.
Here's a simple example (in a declarative language that allows non-terminating computation; in a total language similar examples can be given, except "impossible" means intractable rather than non-computable, which, for all intents and purposes is the same):
X = terminates?(P(1))
If X is known then finding a P is easy; if vice-versa, finding X is possibly impossible.