proposition: Theorem cons_ne : forall (A : Set)(eqda : eq_dec A)(a1 a2 : A)(ls1 ls2 : list A), ((a1 :: ls1) = (a2 :: ls2) -> False) -> (a1 <> a2) \/ (ls1 <> ls2).
proof: Proof. intuition. destruct (eqda a1 a2). subst. right. intuition. subst. intuition. left. intuition. Qed.
imports: FCF.Rat List Permutation Arith FCF.EqDec FCF.StdNat Bool Permutation