code: def _is_surrounded(self, b):
          
  
          a = self
          if a.is_empty:
              return True
  
          if a.is_top and b.is_top:
              return True
  
          elif a.is_top:
              return False
  
          elif b.is_top:
              return True
  
          if b._surrounds_member(a.lower_bound) and b._surrounds_member(a.upper_bound):
              if ((b.lower_bound == a.lower_bound and b.upper_bound == a.upper_bound)
                  or not a._surrounds_member(b.lower_bound) or not a._surrounds_member(b.upper_bound)):
                  return True
          return False
docs: Perform a wrapped LTE comparison only considering the SI bounds
  
          :param a: The first operand
          :param b: The second operand
          :return: True if a <= b, False otherwise