Hint Resolve relativ_empty relativ_empty1 relativ_empty2
relativ_full relativ_full1 relativ_full2 relativ_inv.

(* Specifications: *)
Lemma relativ_almost_canon : forall a x,
canonicalTree a ->
canonicalTree x ->
nonEmptyTree x ->
canonicalTree (relativ_tree a x).
Lemma relativ_cong : forall a x y,
shareTreeOrd x y ->
shareTreeOrd (relativ_tree a x) (relativ_tree a y).
Lemma relativ_canon_commute : forall a x,
canonicalTree a ->
nonEmptyTree x ->
mkCanon (relativ_tree a x) =
relativ_tree a (mkCanon x).
Lemma relativ_intersect : forall a x y,
relativ_tree a (intersect_tree x y) =
intersect_tree (relativ_tree a x) (relativ_tree a y).
Lemma relativ_union : forall a x y,
relativ_tree a (union_tree x y) =
union_tree (relativ_tree a x) (relativ_tree a y).
Lemma relativ_assoc : forall x y z,
relativ_tree x (relativ_tree y z) =
relativ_tree (relativ_tree x y) z.