let sub s t =
match s, t with
| F, _ -> true
| _, F -> false
| _, T -> true
| T, _ -> false
| Zero, (Zero | Nonpos | Nonneg) -> true
| Zero, _ -> false
| Neg, (Neg | Nonpos) -> true
| Neg, _ -> false
| Pos, (Pos | Nonneg) -> true
| Pos, _ -> false
| Nonneg, Nonneg -> true
| Nonneg, _ -> false
| Nonpos, Nonpos -> true
| Nonpos, _ -> false