Definition union' (s1 s2: tree) : tree :=
match compare_height s1 s1 s2 s2 with
| Lt => fold' _ insert s1 s2
| Gt => fold' _ insert s2 s1
| Eq => linear_union s1 s2
end.

Lemma elements'_spec2 : forall s, valid s -> Sorted.sort E.lt (elements' s nil).
Definition Equal' s s' := forall a, interp s a <-> interp s' a.