> If you guard break with if then you also need to prove if the "if" condition does indeed provide a dataflow path to break.
In all cases, for all possible inputs.
On the other hand, if that's what your for loop looks like, you probably have the same problem of proving that your recursion terminates (in all cases, for all possible inputs).