aboutsummaryrefslogtreecommitdiffhomepage
path: root/theories/Reals/R_sqr.v
diff options
context:
space:
mode:
authorGravatar desmettr <desmettr@85f007b7-540e-0410-9357-904b9bb8a0f7>2003-01-15 15:35:04 +0000
committerGravatar desmettr <desmettr@85f007b7-540e-0410-9357-904b9bb8a0f7>2003-01-15 15:35:04 +0000
commitfea0a3265a7191a7e8c13028e7edd9bf29ba4d25 (patch)
treef0993cfb172fd6e3cd280fcebf61ac0d6dc3e71b /theories/Reals/R_sqr.v
parentd72eb6e333f710bb8f4ea0061e8399aafba19fe0 (diff)
Nouvelle interprétation des nombres réels
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@3499 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/Reals/R_sqr.v')
-rw-r--r--theories/Reals/R_sqr.v31
1 files changed, 15 insertions, 16 deletions
diff --git a/theories/Reals/R_sqr.v b/theories/Reals/R_sqr.v
index 2cd6e2fb9..8a711809e 100644
--- a/theories/Reals/R_sqr.v
+++ b/theories/Reals/R_sqr.v
@@ -168,6 +168,7 @@ Intros; Unfold Rsqr.
Rewrite Rinv_Rmult; Try Reflexivity Orelse Assumption.
Qed.
+Import R_scope.
Lemma canonical_Rsqr : (a:nonzeroreal;b,c,x:R) ``a*(Rsqr x)+b*x+c == a* (Rsqr (x+b/(2*a))) + (4*a*c - (Rsqr b))/(4*a)``.
Intros.
Rewrite Rsqr_plus.
@@ -175,6 +176,7 @@ Repeat Rewrite Rmult_Rplus_distr.
Repeat Rewrite Rplus_assoc.
Apply Rplus_plus_r.
Unfold Rdiv Rminus.
+Replace ``2*1+2*1`` with ``4``; [Idtac | Ring].
Rewrite (Rmult_Rplus_distrl ``4*a*c`` ``-(Rsqr b)`` ``/(4*a)``).
Rewrite Rsqr_times.
Repeat Rewrite Rinv_Rmult.
@@ -186,39 +188,36 @@ Rewrite (Rmult_sym ``2``).
Repeat Rewrite Rmult_assoc.
Rewrite <- Rinv_l_sym.
Rewrite Rmult_1r.
-Rewrite (Rmult_sym ``/4``).
-Rewrite (Rmult_sym ``4``).
+Rewrite (Rmult_sym ``/2``).
+Rewrite (Rmult_sym ``2``).
Repeat Rewrite Rmult_assoc; Rewrite <- Rinv_l_sym.
Rewrite Rmult_1r.
Rewrite (Rmult_sym a).
-Rewrite Rmult_assoc.
+Repeat Rewrite Rmult_assoc.
Rewrite <- Rinv_l_sym.
Rewrite Rmult_1r.
-Rewrite (Rmult_sym x).
+Rewrite (Rmult_sym ``2``).
+Repeat Rewrite Rmult_assoc; Rewrite <- Rinv_l_sym.
+Rewrite Rmult_1r.
Repeat Rewrite Rplus_assoc.
-Rewrite (Rplus_sym ``(Rsqr b)*((Rsqr (/2*/a))*a)``).
+Rewrite (Rplus_sym ``(Rsqr b)*((Rsqr (/a*/2))*a)``).
Repeat Rewrite Rplus_assoc.
+Rewrite (Rmult_sym x).
Apply Rplus_plus_r.
-Rewrite Ropp_mul1.
-Unfold Rsqr.
-Repeat Rewrite Rmult_assoc.
+Rewrite (Rmult_sym ``/a``).
+Unfold Rsqr; Repeat Rewrite Rmult_assoc.
Rewrite <- Rinv_l_sym.
Rewrite Rmult_1r.
-Rewrite <- (Rmult_sym ``(/a*/2)``).
-Rewrite Rmult_assoc.
-Rewrite <- (Rinv_Rmult ``2`` ``2``).
-Replace ``2*2`` with ``4``.
-Rewrite Rplus_Ropp_l.
-Symmetry; Apply Rplus_Or.
Ring.
-DiscrR.
-DiscrR.
Apply (cond_nonzero a).
+DiscrR.
Apply (cond_nonzero a).
DiscrR.
DiscrR.
Apply (cond_nonzero a).
DiscrR.
+DiscrR.
+DiscrR.
Apply (cond_nonzero a).
DiscrR.
Apply (cond_nonzero a).