proposition: Lemma is_empty_spec m : is_empty m = true <-> forall k, find k m = None.
proof: Proof. induction m; simpl. - intuition. apply empty_spec. - destruct o. split; try discriminate. intros H. now specialize (H xH). rewrite <- andb_lazy_alt, andb_true_iff, IHm1, IHm2. clear IHm1 IHm2. split. + intros (H1,H2) k. destruct k; simpl; auto. + intros H; split; intros k. apply (H (xO k)). apply (H (xI k)). Qed.
imports: Coq(Bool PeanoNat BinPos Orders OrdersEx OrdersLists) MMaps(Utils Comparisons Interface)