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(
              f"Cannot have {upper_name}={upper_bound!r} < {lower_name}={lower_bound!r}"
          )
  
file_path: catboost/contrib/python/hypothesis/py3/hypothesis/internal/validation.py
imports: import decimal
  import math
  from numbers import Rational, Real
  from hypothesis.errors import InvalidArgument
  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