theorem associative_Zplus: associative Z Zplus.
-(* change with (\forall x,y,z. eq ?(Zplus (Zplus x y) z) (Zplus x (Zplus y z))).*)
-simplify.
+change with (\forall x,y,z. eq ?(Zplus (Zplus x y) z) (Zplus x (Zplus y z))).
+(* simplify. *)
intros.elim x.simplify.reflexivity.
elim e1.rewrite < (Zpred_Zplus_neg_O (Zplus y z)).
-drop.
rewrite < (Zpred_Zplus_neg_O y).
rewrite < Zplus_Zpred.
reflexivity.