#### 10.3.1 Comparison functions for `poly_int`

`poly_int` provides the following routines for checking whether a particular condition “may be” (might be) true:

    maybe_lt maybe_le maybe_eq maybe_ge maybe_gt
                      maybe_ne

The functions have their natural meaning:

‘`maybe_lt(a, b)`’

  Return true if a might be less than b.

‘`maybe_le(a, b)`’

  Return true if a might be less than or equal to b.

‘`maybe_eq(a, b)`’

  Return true if a might be equal to b.

‘`maybe_ne(a, b)`’

  Return true if a might not be equal to b.

‘`maybe_ge(a, b)`’

  Return true if a might be greater than or equal to b.

‘`maybe_gt(a, b)`’

  Return true if a might be greater than b.

For readability, `poly_int` also provides “known” inverses of these functions:

    known_lt (a, b) == !maybe_ge (a, b)
    known_le (a, b) == !maybe_gt (a, b)
    known_eq (a, b) == !maybe_ne (a, b)
    known_ge (a, b) == !maybe_lt (a, b)
    known_gt (a, b) == !maybe_le (a, b)
    known_ne (a, b) == !maybe_eq (a, b)