I don't know much about formal methods. I was surprised by this:
> Indeed, if you like at the prelude, you may notice that currently there’s no modelling of overflows – all integer types are unbounded on the Lean side
But integer overflow is one of the most common bugs in binary search [1]. I don't mean to attack this work, but what good are formal methods if they still allow failures like this? Honest question.
> In any case, overflow checking is not very interesting for the implementation at hand because every integer in there is trivially bounded by self.len()
Hmmm. See line 317 or 321: base + head.len() is not "trivially" bounded by self.len(), at least not to me.
[1]: https://research.googleblog.com/2006/06/extra-extra-read-all...