Fixpoint elements' (x: tree) (base: list key) : list key :=
  match x with
  | EE => base
  | T _ t1 k t2 => elements' t1 (cons k (elements' t2 base))
 end.

Lemma member_compat: forall s, valid s -> Proper (E.eq ==> Logic.eq) (fun k : key => member k s).