'Returns True if range of values attained by `self` AccumulationBounds
object is less than or equal to the range of values attained by
`other`, where other may be any value of type AccumulationBounds
object or extended real number value, AccumulationBounds object,
False is returned if `other` satisfies the same property, None if
the values attained by AccumulationBounds object intersect.
Examples
>>> from sympy import AccumBounds, oo
>>> AccumBounds(1, 3) <= AccumBounds(4, oo)
True
>>> AccumBounds(1, 4) <= AccumBounds(3, 4)
>>> AccumBounds(1, 3) <= 3
True'

def __le__(self, other):

    other = _sympify(other)
    if isinstance(other, AccumBounds):
        if (self.max <= other.min):
            return True
        if (self.min > other.max):
            return False
        return None
    if (not (other.is_real or (other is S.Infinity) or (other is S.NegativeInfinity))):
        raise TypeError(('Invalid    comparison    of    %s    %s' % (type(other), other)))
    if other.is_comparable:
        if (self.max <= other):
            return True
        if (self.min > other):
            return False
    return None
