let mem q = function
  | F -> false
  | Zero -> Q.equal q Q.zero
  | Pos -> Q.gt q Q.zero
  | Neg -> Q.lt q Q.zero
  | Nonneg -> Q.ge q Q.zero
  | Nonpos -> Q.le q Q.zero
  | T -> true