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