Definition Lsh  : Share.t := fst (Share.split Share.top).Definition Rsh  : Share.t := snd (Share.split Share.top).Definition splice (a b: t) : t := Share.lub (rel Lsh a) (rel Rsh b).

Lemma mkCanon_Leaf_split : forall t1 t2 b, Leaf b = mkCanon (Node t1 t2) -> mkCanon t1 = Leaf b /\ mkCanon t2 = Leaf b.