aboutsummaryrefslogtreecommitdiffhomepage
path: root/theories/Reals/R_sqr.v
diff options
context:
space:
mode:
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).