To avoid redundant definitions of operator!= out of operator== and operators >, <=, and >= out of operator<, the library provides the following:

```
template <class T> bool operator!=(const T& x, const T& y);
```

Requires: Type T is EqualityComparable.

```
template <class T> bool operator>(const T& x, const T& y);
```

Requires: Type T is LessThanComparable.

```
template <class T> bool operator<=(const T& x, const T& y);
```

Requires: Type T is LessThanComparable.

```
template <class T> bool operator>=(const T& x, const T& y);
```

Requires: Type T is LessThanComparable.