let minus m1 m2 =
match m1,m2 with
| T.Spare, T.Spare -> bottom
| T.Spare, T.Cav d2 -> if D.is_bottom d2 then m1 else bottom
| T.Cav _, T.Spare -> m1 (* even if [D.is_bottom d1] because m1 = bot *)
| T.Cav d1, T.Cav d2 -> mk_mark (D.minus d1 d2)