(***********************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) (* R;l1,l2:R) (Un_cv Un l1) -> (Un_cv Un l2) -> l1==l2. Intros Un l1 l2; Unfold Un_cv; Unfold R_dist; Intros. Apply cond_eq. Intros; Cut ``0R;l1,l2:R) (Un_cv An l1) -> (Un_cv Bn l2) -> (Un_cv [i:nat]``(An i)+(Bn i)`` ``l1+l2``). Unfold Un_cv; Unfold R_dist; Intros. Cut ``0``(Rabsolu ((Rabsolu a)-(Rabsolu b))) <= (Rabsolu (a-b))``. Intros; Case (total_order_T (Rabsolu a) (Rabsolu b)); Intro. Elim s; Intro. Rewrite <- (Rabsolu_Ropp ``(Rabsolu a)-(Rabsolu b)``); Rewrite <- (Rabsolu_Ropp ``a-b``); Do 2 Rewrite Ropp_distr2. Apply H; Left; Assumption. Rewrite b0; Unfold Rminus; Rewrite Rplus_Ropp_r; Rewrite Rabsolu_R0; Apply Rabsolu_pos. Apply H; Left; Assumption. Intros; Replace ``(Rabsolu ((Rabsolu a)-(Rabsolu b)))`` with ``(Rabsolu a)-(Rabsolu b)``. Apply Rabsolu_triang_inv. Rewrite (Rabsolu_right ``(Rabsolu a)-(Rabsolu b)``); [Reflexivity | Apply Rle_sym1; Apply Rle_anti_compatibility with (Rabsolu b); Rewrite Rplus_Or; Replace ``(Rabsolu b)+((Rabsolu a)-(Rabsolu b))`` with (Rabsolu a); [Assumption | Ring]]. Qed. (* Lien convergence / convergence absolue *) Lemma cv_cvabs : (Un:nat->R;l:R) (Un_cv Un l) -> (Un_cv [i:nat](Rabsolu (Un i)) (Rabsolu l)). Unfold Un_cv; Unfold R_dist; Intros. Elim (H eps H0); Intros. Exists x; Intros. Apply Rle_lt_trans with ``(Rabsolu ((Un n)-l))``. Apply Rabsolu_triang_inv2. Apply H1; Assumption. Qed. (* Toute suite convergente est de Cauchy *) Lemma CV_Cauchy : (Un:nat->R) (sigTT R [l:R](Un_cv Un l)) -> (Cauchy_crit Un). Intros; Elim X; Intros. Unfold Cauchy_crit; Intros. Unfold Un_cv in p; Unfold R_dist in p. Cut ``0R) (sigTT R [l:R](Un_cv Un l)) -> (EXT l:R | ``0R;l1,l2:R) (Un_cv An l1) -> (Un_cv Bn l2) -> (Un_cv [i:nat]``(An i)*(Bn i)`` ``l1*l2``). Intros. Cut (sigTT R [l:R](Un_cv An l)). Intro. Assert H1 := (maj_by_pos An X). Elim H1; Intros M H2. Elim H2; Intros. Unfold Un_cv; Unfold R_dist; Intros. Cut ``0R;l1,l2:R) (Un_cv An l1) -> (Un_cv Bn l2) -> (Un_cv [i:nat]``(An i)-(Bn i)`` ``l1-l2``). Intros. Replace [i:nat]``(An i)-(Bn i)`` with [i:nat]``(An i)+((opp_sui Bn) i)``. Unfold Rminus; Apply CV_plus. Assumption. Apply CV_opp; Assumption. Unfold Rminus opp_sui; Reflexivity. Qed.