(*D11*)
 Definition sub (x y : canonTree) : option canonTree :=
  match eq_dec (glb x y) y with
  | left _ => Some (glb x (comp y))
  | right _ => None
  end.

Lemma decompose_nonzero: forall sL sR s, decompose s = (sL,sR) -> (s <> bot <-> sL <> bot \/ sR <> bot).