let is_empty r =
    F.p_conj [
      Vmerge.forall (fun _ (_,rs) -> forall range_empty rs) r.cvars ;
      Imerge.forall (fun _ (_,rs) -> forall range_empty rs) r.roots ;
      forall (fun (_,r) -> range_empty r) r.bases ;
    ]