let disjoint s t =
  match s, t with
    | F, _ -> true
    | _, F -> true
    | Zero,  (Neg | Pos-> true
    | Neg, (Zero | Pos | Nonneg-> true
    | Pos, (Zero | Neg | Nonpos-> true
    | NonnegNeg -> true
    | NonposPos -> true
    | _ -> false