(*D10*)
 Definition add (x y : canonTree) : option canonTree :=
  match eq_dec (glb x y) bot with
  | left _ => Some (lub x y)
  | right _ => None
  end.

(* Specifications: *)
Lemma add_join : forall t1 t2 t3, add t1 t2 = Some t3 <-> join t1 t2 t3.