Two definitions are equivalent, that is, there exists a flow by the first definition of value iff there exists a flow by the second definition of value
If all capacities are integers, in each iteration of the while loop, the flow is increased by at least
This means that there are at most iterations where is the maximum flow
In each iteration, we can find a path using BFS/DFS in
Note that for rational numbers, it is possible to multiply (and then divide) by a largest common denominator to obtain integer capacities once again.
For irrational numbers however, the algorithm is not guaranteed to converge to a maximum flow or even terminate.