proposition: Lemma removeFirst_in : forall (A : Set)(eqd : eq_dec A)(ls : list A)(a1 a2 : A), In a1 ls -> a1 <> a2 -> In a1 (removeFirst eqd ls a2).
proof: Proof. induction ls; intuition; simpl in *. destruct (eqd a2 a); subst. intuition. congruence. simpl. intuition. Qed.
imports: FCF.Rat List Permutation Arith FCF.EqDec FCF.StdNat Bool