When trying to reverse a hash function, there is loss, e.g.
a+b=c
given c=5, try to go back to a,b (previous step)
(a,b)=(5,0),(4,1),(3,2),(2,3),(1,4),(0,5)
but, given any of the (a,b) pairs, we get c=5 in the next step, and each of these pairs have the same exponential growth applied when reversing them. Thus, it seems that every step back you take increases the number of possible values that lead to c=5 exponentially.
Also, no two branches can recombine when reversing, as that would require one (a,b,c) to split into two possible (a,b,c), which is random not deterministic and so impossible in hashing.
The problem is, there is a finite number of inputs, and a finite number of possible (a,b,c) values. It seems like a paradox, and the only solution I can find is that some paths are dead-ends, e.g. ((a,b,c)!=possible to make from any other (a,b,c)). Yet I don't think any such (a,b,c) exists, so maybe I have the wrong solution?