proposition: Lemma fold_add_eq_init_f : forall (A : Set)(ls : list A) f init, (forall a, In a ls -> (f a) == 0) -> fold_left (fun r a => r + (f a)) ls init == init.
proof: Proof. intuition. eapply eqRat_trans. eapply fold_add_body_eq. apply eqRat_refl. eapply H. simpl. eapply fold_add_eq_init. Qed.
imports: FCF.Rat List Permutation Arith FCF.EqDec FCF.StdNat Bool