code: def check_valid_interval(
      lower_bound, upper_bound, lower_name, upper_name
  ):
      """Checks that lower_bound and upper_bound are either unspecified, or they
      define a valid interval on the number line.
  
      Otherwise raises InvalidArgument.
      """
      if lower_bound is None or upper_bound is None:
          return
      if upper_bound < lower_bound:
          raise InvalidArgument(
              "Cannot have %s=%r < %s=%r"
              % (upper_name, upper_bound, lower_name, lower_bound)
          )
  
file_path: catboost/contrib/python/hypothesis/py2/hypothesis/internal/validation.py
imports: from __future__ import absolute_import, division, print_function
  import decimal
  import math
  from numbers import Rational, Real
  from hypothesis.errors import InvalidArgument
  from hypothesis.internal.compat import integer_types
  from hypothesis.internal.coverage import check_function
label_desc: Use image node_id 7 for calling a global function with example usage: check_valid_interval(lower_bound, upper_bound, lower_name, upper_name) without return types