aboutsummaryrefslogtreecommitdiffhomepage
path: root/theories/Reals/Rlimit.v
diff options
context:
space:
mode:
authorGravatar mayero <mayero@85f007b7-540e-0410-9357-904b9bb8a0f7>2002-07-19 16:12:27 +0000
committerGravatar mayero <mayero@85f007b7-540e-0410-9357-904b9bb8a0f7>2002-07-19 16:12:27 +0000
commit31e3e4942c88688294fac1addd9c98567d4f5aa8 (patch)
tree545bdb635b66d70cbd9c500e80fa5e99137bd5f4 /theories/Reals/Rlimit.v
parentc74b914b3e4614e273cbe2c27df87d91a70cd8a6 (diff)
Nvll preuves R_dist_tri et tech_limit
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@2906 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/Reals/Rlimit.v')
-rw-r--r--theories/Reals/Rlimit.v143
1 files changed, 11 insertions, 132 deletions
diff --git a/theories/Reals/Rlimit.v b/theories/Reals/Rlimit.v
index 7b8d1100a..25b4ea7a6 100644
--- a/theories/Reals/Rlimit.v
+++ b/theories/Reals/Rlimit.v
@@ -232,127 +232,8 @@ Qed.
(***********)
Lemma R_dist_tri:(x,y,z:R)(Rle (R_dist x y)
(Rplus (R_dist x z) (R_dist z y))).
-Intros;Unfold R_dist; Unfold Rabsolu;
- Case (case_Rabsolu (Rminus x y)); Case (case_Rabsolu (Rminus x z));
- Case (case_Rabsolu (Rminus z y));Intros.
-Rewrite (Ropp_distr2 x y); Rewrite (Ropp_distr2 x z);
- Rewrite (Ropp_distr2 z y);Unfold Rminus;
- Rewrite (Rplus_sym y (Ropp z));
- Rewrite (Rplus_sym z (Ropp x));
- Rewrite (Rplus_assoc (Ropp x) z (Rplus (Ropp z) y));
- Rewrite <-(Rplus_assoc z (Ropp z) y);Rewrite (Rplus_Ropp_r z);
- Elim (Rplus_ne y);Intros a b;Rewrite b;Clear a b;
- Rewrite (Rplus_sym y (Ropp x));
- Apply (eq_Rle (Rplus (Ropp x) y) (Rplus (Ropp x) y)
- (refl_eqT R (Rplus (Ropp x) y))).
-Rewrite (Ropp_distr2 x y);Rewrite (Ropp_distr2 x z);Unfold Rminus;
- Rewrite (Rplus_sym y (Ropp x));
- Rewrite (Rplus_sym z (Ropp x));
- Rewrite (Rplus_assoc (Ropp x) z (Rplus z (Ropp y)));
- Apply (Rle_compatibility (Ropp x) y
- (Rplus z (Rplus z (Ropp y))));
- Rewrite (Rplus_sym z (Rplus z (Ropp y)));
- Apply (Rle_anti_compatibility (Ropp y) y
- (Rplus (Rplus z (Ropp y)) z));Rewrite (Rplus_Ropp_l y);
- Rewrite (Rplus_sym (Ropp y) (Rplus (Rplus z (Ropp y)) z));
- Rewrite (Rplus_assoc (Rplus z (Ropp y)) z (Ropp y));
- Fold (Rminus z y);Generalize (Rle_sym2 R0 (Rminus z y) r);Intro;
- Generalize (Rle_compatibility (Rminus z y) R0 (Rminus z y) H);Intro;
- Elim (Rplus_ne (Rminus z y)); Intros a b; Rewrite a in H0; Clear a b;
- Apply (Rle_trans R0 (Rminus z y) (Rplus (Rminus z y) (Rminus z y))
- H H0).
-Rewrite (Ropp_distr2 x y);Rewrite (Ropp_distr2 z y);Unfold Rminus;
- Rewrite (Rplus_sym y (Ropp z));
- Rewrite <- (Rplus_assoc (Rplus x (Ropp z)) (Ropp z) y);
- Rewrite (Rplus_sym (Rplus (Rplus x (Ropp z)) (Ropp z)) y);
- Apply (Rle_compatibility y (Ropp x)
- (Rplus (Rplus x (Ropp z)) (Ropp z)));
- Apply (Rle_anti_compatibility x (Ropp x)
- (Rplus (Rplus x (Ropp z)) (Ropp z)));Rewrite (Rplus_Ropp_r x);
- Rewrite (Rplus_sym x (Rplus (Rplus x (Ropp z)) (Ropp z)));
- Rewrite (Rplus_assoc (Rplus x (Ropp z)) (Ropp z) x);
- Rewrite (Rplus_sym (Ropp z) x);Fold (Rminus x z);
- Generalize (Rle_sym2 R0 (Rminus x z) r0);Intro;
- Generalize (Rle_compatibility (Rminus x z) R0 (Rminus x z) H);Intro;
- Elim (Rplus_ne (Rminus x z));Intros a b;Rewrite a in H0;Clear a b;
- Apply (Rle_trans R0 (Rminus x z) (Rplus (Rminus x z) (Rminus x z))
- H H0).
-Unfold 2 3 Rminus;
- Rewrite <-(Rplus_assoc (Rplus x (Ropp z)) z (Ropp y));
- Rewrite (Rplus_assoc x (Ropp z) z);Rewrite (Rplus_Ropp_l z);
- Elim (Rplus_ne x);Intros a b;Rewrite a;Clear a b; Fold (Rminus x y);
- Apply (Rle_anti_compatibility (Rminus x y) (Ropp (Rminus x y))
- (Rminus x y));Rewrite (Rplus_Ropp_r (Rminus x y));
- Generalize (Rle_sym2 R0 (Rminus x z) r0);Intro;
- Generalize (Rle_sym2 R0 (Rminus z y) r);Intro;
- Generalize (Rle_compatibility (Rminus z y) R0 (Rminus x z) H);Intro;
- Elim (Rplus_ne (Rminus z y));Intros a b;Rewrite a in H1;Clear a b;
- Unfold 2 3 Rminus in H1;
- Rewrite (Rplus_assoc z (Ropp y) (Rplus x (Ropp z))) in H1;
- Rewrite (Rplus_sym z (Rplus (Ropp y) (Rplus x (Ropp z))))
- in H1;
- Rewrite <-(Rplus_assoc (Ropp y) x (Ropp z)) in H1;
- Rewrite (Rplus_assoc (Rplus (Ropp y) x) (Ropp z) z) in H1;
- Rewrite (Rplus_Ropp_l z) in H1;
- Elim (Rplus_ne (Rplus (Ropp y) x));Intros a b;Rewrite a in H1;
- Clear a b;Rewrite (Rplus_sym (Ropp y) x) in H1;
- Fold (Rminus x y) in H1;
- Generalize (Rle_trans R0 (Rminus z y) (Rminus x y) H0 H1);Intro;
- Generalize (Rle_compatibility (Rminus x y) R0 (Rminus x y) H2);
- Intro;Elim (Rplus_ne (Rminus x y));Intros a b;Rewrite a in H3;
- Clear a b;
- Apply (Rle_trans R0 (Rminus x y) (Rplus (Rminus x y) (Rminus x y))
- H2 H3).
-Generalize (Rminus_lt z y r);Intro;Generalize (Rminus_lt x z r0);
- Intro;Generalize (Rlt_trans x z y H0 H);Intro;
- Generalize (Rlt_minus x y H1);Intro;
- Generalize (Rle_not R0 (Rminus x y) H2);Intro;
- Generalize (Rle_sym2 R0 (Rminus x y) r1);Intro;
- ElimType False;Auto.
-Rewrite (Ropp_distr2 x z);Unfold Rminus;
- Rewrite (Rplus_sym x (Ropp y));
- Rewrite <-(Rplus_assoc (Rplus z (Ropp x)) z (Ropp y));
- Rewrite (Rplus_sym (Rplus (Rplus z (Ropp x)) z) (Ropp y));
- Apply (Rle_compatibility (Ropp y) x
- (Rplus (Rplus z (Ropp x)) z));
- Apply (Rle_anti_compatibility (Ropp x) x
- (Rplus (Rplus z (Ropp x)) z));
- Rewrite (Rplus_Ropp_l x);
- Rewrite (Rplus_sym (Ropp x) (Rplus (Rplus z (Ropp x)) z));
- Rewrite (Rplus_assoc (Rplus z (Ropp x)) z (Ropp x));
- Fold (Rminus z x);Generalize (Rminus_lt x z r0);Intro;
- Generalize (Rlt_RoppO (Rminus x z) r0);Intro;
- Rewrite (Ropp_distr2 x z) in H0;
- Generalize (Rgt_ge (Rminus z x) R0 H0);Intro;
- Generalize (Rle_sym2 R0 (Rminus z x) H1);Intro;
- Generalize (Rle_compatibility (Rminus z x) R0 (Rminus z x) H2);
- Intro;Elim (Rplus_ne (Rminus z x)); Intros a b; Rewrite a in H3;
- Clear a b;
- Apply (Rle_trans R0 (Rminus z x) (Rplus (Rminus z x) (Rminus z x))
- H2 H3).
-Rewrite (Ropp_distr2 z y);Unfold Rminus;
- Rewrite (Rplus_assoc x (Ropp z) (Rplus y (Ropp z)));
- Apply (Rle_compatibility x (Ropp y)
- (Rplus (Ropp z) (Rplus y (Ropp z))));
- Apply (Rle_anti_compatibility y (Ropp y)
- (Rplus (Ropp z) (Rplus y (Ropp z))));
- Rewrite (Rplus_Ropp_r y);
- Rewrite <-(Rplus_assoc y (Ropp z) (Rplus y (Ropp z)));
- Fold (Rminus y z);Generalize (Rlt_Ropp (Rminus z y) R0 r);Intro;
- Rewrite Ropp_O in H;Rewrite (Ropp_distr2 z y) in H;
- Generalize (Rgt_ge (Rminus y z) R0 H);Intro;
- Generalize (Rle_sym2 R0 (Rminus y z) H0);Intro;
- Generalize (Rle_compatibility (Rminus y z) R0 (Rminus y z) H1);
- Intro;Elim (Rplus_ne (Rminus y z)); Intros a b; Rewrite a in H2;
- Clear a b;
- Apply (Rle_trans R0 (Rminus y z) (Rplus (Rminus y z) (Rminus y z))
- H1 H2).
-Unfold 2 3 Rminus;
- Rewrite (Rplus_assoc x (Ropp z) (Rplus z (Ropp y)));
- Rewrite <-(Rplus_assoc (Ropp z) z (Ropp y));
- Rewrite (Rplus_Ropp_l z);Elim (Rplus_ne (Ropp y));Intros a b;Rewrite b;
- Clear a b;Fold (Rminus x y);
- Apply (eq_Rle (Rminus x y) (Rminus x y) (refl_eqT R (Rminus x y))).
+Intros;Unfold R_dist; Replace ``x-y`` with ``(x-z)+(z-y)``;
+ [Apply (Rabsolu_triang ``x-z`` ``z-y``)|Ring].
Qed.
(*********)
@@ -386,17 +267,15 @@ Definition limit1_in:(R->R)->(R->Prop)->R->R->Prop:=
(*********)
Lemma tech_limit:(f:R->R)(D:R->Prop)(l:R)(x0:R)(D x0)->
(limit1_in f D l x0)->l==(f x0).
-Unfold limit1_in;Unfold limit_in;Simpl;Intros;Apply NNPP;Red;Intro;
- Generalize (R_dist_pos (f x0) l);Intro;Unfold Rge in H2;Elim H2;Intro;
- Clear H2.
-Elim (H0 (R_dist (f x0) l) H3);Intros;Elim H2;Clear H2 H0;
- Intros;Generalize (H2 x0);Clear H2;Intro;Elim (R_dist_refl x0 x0);
- Intros a b;Clear a;Rewrite (b (refl_eqT R x0)) in H2;Clear b;
- Unfold Rgt in H0;Generalize (H2 (conj (D x0) (Rlt R0 x) H H0));Intro;
- Clear H2;Generalize (Rlt_antirefl (R_dist (f x0) l));Intro;Auto.
-Elim (R_dist_refl (f x0) l);Intros a b;Clear b;Generalize (a H3);Intro;
-Generalize (sym_eqT R (f x0) l H2);Intro;Auto.
-Qed.
+Intros f D l x0 H H0.
+Case (Rabsolu_pos (Rminus (f x0) l)); Intros H1.
+Absurd (Rlt (dist R_met (f x0) l) (dist R_met (f x0) l)).
+Apply Rlt_antirefl.
+Case (H0 (dist R_met (f x0) l)); Auto.
+Intros alpha1 (H2, H3); Apply H3; Auto; Split; Auto.
+Case (dist_refl R_met x0 x0); Intros Hr1 Hr2; Rewrite Hr2; Auto.
+Case (dist_refl R_met (f x0) l); Intros Hr1 Hr2; Apply sym_eqT; Auto.
+Qed.
(*********)
Lemma tech_limit_contr:(f:R->R)(D:R->Prop)(l:R)(x0:R)(D x0)->~l==(f x0)