Good point. Hashrate must follow the price.
Bitcoin launched at $0.
According to that logic, the difficulty would
never increase, because for the difficulty to rise: Bitcoin would first have to be worth something!
I don't think it's black or white. The price is determined by both the production cost
and speculation.
For the first year Bitcoin was mined strictly as an academic exercise and speculation.
It wasn't until May 22, 2010 that it actually became worth something when a $20 pair of pizzas was sold for 10,000 bitcoins.
That was when Bitcoin was really launched with a value of $0.002 per coin.
There's no denying that price and difficulty are now closely correlated. The question is which is the chicken and which is the egg.