]
qed.
+theorem eq_sigma_p_pred:
+\forall n,p,g. p O = true \to
+sigma_p (S n) (\lambda i.p (pred i)) (\lambda i.g(pred i)) =
+plus (sigma_p n p g) (g O).
+intros.
+unfold sigma_p.
+apply eq_iter_p_gen_pred
+ [assumption
+ |apply symmetricIntPlus
+ |apply associative_plus
+ |intros.apply sym_eq.apply plus_n_O
+ ]
+qed.
+
(* monotonicity *)
theorem le_sigma_p:
\forall n:nat. \forall p:nat \to bool. \forall g1,g2:nat \to nat.