proposition: Lemma STexists_mem_4 : forall f (s : STt), STexists_ f s = true -> exists x : STelt , STmem x s = true /\ f x = true.
proof: Proof. intros f s HEx; induction s; simpl in *; [discriminate|]. case_eq (f a); intro Hfa; rewrite Hfa in *; simpl in *. exists a; elim (eqST_dec a a); [intuition|intro H; exfalso; apply H; unfold eqST; apply eqListRefl]. destruct (IHs HEx) as [x [Hmem Hfx]]; exists x. elim (eqST_dec a x); intro; intuition. Qed.
imports: MSets Arith NArith Notations Sorting Coq.Program.Equality GeoCoq.Tactics.Coinc.tactics_axioms