https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70303
--- Comment #5 from Casey Carter <Casey at Carter dot net> --- IIRC my reasoning was that [random.access.iterators] specifies the operational semantics of `a < b` to be `b - a > 0`, which suggests but doesn't quite require that `a < b` is valid whenever `b - a` is valid.