let mult s t =
match s, t with
| F, _ -> F
| _, F -> F
| Zero, _ -> Zero
| _, Zero -> Zero
| T, _ -> T
| _, T -> T
| Pos, Pos -> Pos
| Pos, Nonneg -> Nonneg
| Pos, Neg -> Neg
| Pos, Nonpos -> Nonpos
| Neg, Neg -> Pos
| Neg, Pos -> Neg
| Neg, Nonpos -> Nonneg
| Neg, Nonneg -> Nonpos
| Nonpos, Pos -> Nonpos
| Nonpos, Neg -> Nonneg
| Nonpos, Nonpos -> Nonneg
| Nonpos, Nonneg -> Nonpos
| Nonneg, Pos -> Nonneg
| Nonneg, Neg -> Nonpos
| Nonneg, Nonneg -> Nonneg
| Nonneg, Nonpos -> Nonneg