(* File: My_Arith.v  (last edited on 25/10/2000) (c) Klaus Weich  *)
(******* List stuff ***********************************************)
intros A B f o l0 l1 x f_perm.
elim l0; clear l0.
trivial.
intros a0 l0 ih.
simpl in |- *.
rewrite ih.
simpl in |- *.
apply f_perm.
Qed.
(********************************************************************)
intros n.
rewrite (plus_comm n 0).
simpl in |- *.
trivial.
Qed.
intros n; elim n; clear n.
intro u0;  discriminate u0.
intros n ih u0.
apply ih.
injection u0; trivial.
Qed.
intros m; elim m; clear m.
intros n; case n; clear n.
intros.
apply le_n.
intros.
inversion_clear H.
intros m ih n H.
inversion_clear H.
apply le_n.
apply le_S.
apply ih; assumption.
Qed.
intros n m p eq lt.
rewrite eq; assumption.
Qed.
intros.
rewrite H.
trivial.
Qed.

Lemma plus_reg : forall l m n : nat, m = n -> l + m = l + n.