proposition: Theorem app_cons_eq : forall (A : Type) ls2 ls1 (a : A), ls2 ++ (a :: ls1) = (ls2 ++ (a :: nil)) ++ ls1.
proof: Proof. induction ls2; intuition idtac; simpl in *. f_equal. eauto. Qed.
imports: FCF.Rat List Permutation Arith FCF.EqDec FCF.StdNat Bool Permutation