std::experimental::ranges::StrictWeakOrder
From cppreference.com
                    
                                        
                    < cpp | experimental | ranges
                    
                                                            
                    |   Defined in header  <experimental/ranges/concepts>
  | 
||
|   template < class R, class T, class U > concept bool StrictWeakOrder = Relation<R, T, U>;  | 
(1) | (ranges TS) | 
The concept StrictWeakOrder<R, T, U> specifies that the Relation R imposes a strict weak ordering on its arguments. A relation r is a strict weak ordering if
-  it is irreflexive: for all 
x,r(x, x)is false; -  it is transitive: for all 
a,bandc, ifr(a, b)andr(b, c)are both true thenr(a, c)is true; -  let 
e(a, b)be!r(a, b) && !r(b, a), theneis transitive:e(a, b) && e(b, c)impliese(a, c). 
Under these conditions, it can be shown that e is an equivalence relation, and r induces a strict total ordering on the equivalence classes determined by e.
Notes
The distinction between Relation and StrictWeakOrder is purely semantic.