let upper_bound = function
  Open_inter (_, a) -> a |
  Singleton_inter (a) -> a