Does the C++ specification define:
Boolean false is equivalent to int 0, and boolean true is equivalent to int 1. So this explains why the expression false < true => 0 < 1 is the only one which returns true.
false
int 0
true
int 1
false < true
0 < 1