(* Define the subset type canonTree and show that it has decidable equality. *)
Definition canonTree :=  { t:ShareTree | canonicalTree t }.

(* Specifications: *)
Lemma shareTree_dec_eq : forall x y:ShareTree, {x=y}+{x<>y}.
Lemma canonTree_eq_dec : forall x y:canonTree, {x=y}+{x<>y}.
Lemma comp_full_empty : forall x,
nonFullTree x -> nonEmptyTree (comp_tree x).
Lemma comp_empty_full : forall x,
nonEmptyTree x -> nonFullTree (comp_tree x).