proposition: Theorem grs: forall (i: key) (m: t A), find i (remove i m) = None.
proof: Proof. induction i; destruct m. - simpl; auto. - destruct m1; destruct o; destruct m2 as [ | ll oo rr]; simpl; auto. + rewrite (rleaf i); auto. + cut (find i (remove i (Node ll oo rr)) = None). * destruct (remove i (Node ll oo rr)); auto; apply IHi. * apply IHi. - simpl; auto. - destruct m1 as [ | ll oo rr]; destruct o; destruct m2; simpl; auto. + rewrite (rleaf i); auto. + cut (find i (remove i (Node ll oo rr)) = None). * destruct (remove i (Node ll oo rr)); auto; apply IHi. * apply IHi. - simpl; auto. - destruct m1; destruct m2; simpl; auto. Qed.
imports: Bool OrderedType ZArith OrderedType OrderedTypeEx FMapInterface