Built with Alectryon, running Coq+SerAPI v8.10.0+0.7.0. Coq sources are in this panel; goals and messages will appear in the other. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑ Ctrl+↓ to navigate, Ctrl+🖱️ to focus.
(************************************************************************)
(*         *   The Coq Proof Assistant / The Coq Development Team       *)
(*  v      *   INRIA, CNRS and contributors - Copyright 1999-2018       *)
(* <O___,, *       (see CREDITS file for the list of authors)           *)
(*   \VV/  **************************************************************)
(*    //   *    This file is distributed under the terms of the         *)
(*         *     GNU Lesser General Public License Version 2.1          *)
(*         *     (see LICENSE file for the text of the license)         *)
(************************************************************************)

Require Import Rbase.
Require Import Rfunctions.
Require Import Rsqrt_def.
Local Open Scope R_scope.

Continuous extension of Rsqrt on R

Definition sqrt (x:R) : R :=
  match Rcase_abs x with
    | left _ => 0
    | right a => Rsqrt (mknonnegreal x (Rge_le _ _ a))
  end.


forall x : R, 0 <= sqrt x

forall x : R, 0 <= sqrt x
x:R

0 <= sqrt x
x:R

0 <= match Rcase_abs x with | left _ => 0 | right a => Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 a |} end
x:R
H:x < 0

0 <= 0
x:R
H:x >= 0
0 <= Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 H |}
x:R
H:x >= 0

0 <= Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 H |}
apply Rsqrt_positivity. Qed.

forall x : R, 0 <= x -> 0 <= sqrt x

forall x : R, 0 <= x -> 0 <= sqrt x
x:R

0 <= sqrt x
apply sqrt_pos. Qed.

forall x : R, 0 <= x -> sqrt x * sqrt x = x

forall x : R, 0 <= x -> sqrt x * sqrt x = x
x:R
H:0 <= x

sqrt x * sqrt x = x
x:R
H:0 <= x

match Rcase_abs x with | left _ => 0 | right a => Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 a |} end * match Rcase_abs x with | left _ => 0 | right a => Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 a |} end = x
x:R
H:0 <= x
Hlt:x < 0

0 * 0 = x
x:R
H:0 <= x
Hge:x >= 0
Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hge |} * Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hge |} = x
x:R
H:0 <= x
Hge:x >= 0

Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hge |} * Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hge |} = x
rewrite Rsqrt_Rsqrt; reflexivity. Qed.

sqrt 0 = 0

sqrt 0 = 0
apply Rsqr_eq_0; unfold Rsqr; apply sqrt_sqrt; right; reflexivity. Qed.

sqrt 1 = 1

sqrt 1 = 1
apply (Rsqr_inj (sqrt 1) 1); [ apply sqrt_positivity; left | left | unfold Rsqr; rewrite sqrt_sqrt; [ ring | left ] ]; apply Rlt_0_1. Qed.

forall x : R, 0 <= x -> sqrt x = 0 -> x = 0

forall x : R, 0 <= x -> sqrt x = 0 -> x = 0
x:R
H:0 <= x
H0:sqrt x = 0

(sqrt x)² = 0 -> x = 0
x:R
H:0 <= x
H0:sqrt x = 0
(sqrt x)² = 0
x:R
H:0 <= x
H0:sqrt x = 0

(sqrt x)² = 0
rewrite H0; apply Rsqr_0. Qed.

forall x y : R, 0 <= x -> 0 <= y -> sqrt x = y -> y * y = x

forall x y : R, 0 <= x -> 0 <= y -> sqrt x = y -> y * y = x
intros; rewrite <- H1; apply (sqrt_sqrt x H). Qed.

forall x y : R, 0 <= x -> 0 <= y -> y * y = x -> sqrt x = y

forall x y : R, 0 <= x -> 0 <= y -> y * y = x -> sqrt x = y
intros; apply Rsqr_inj; [ apply (sqrt_positivity x H) | assumption | unfold Rsqr; rewrite H1; apply (sqrt_sqrt x H) ]. Qed.

forall x : R, 0 <= x -> sqrt x * sqrt x = x

forall x : R, 0 <= x -> sqrt x * sqrt x = x
intros; apply (sqrt_sqrt x H). Qed.

forall x : R, 0 <= x -> sqrt (x * x) = x

forall x : R, 0 <= x -> sqrt (x * x) = x
intros; apply (Rsqr_inj (sqrt (Rsqr x)) x (sqrt_positivity (Rsqr x) (Rle_0_sqr x)) H); unfold Rsqr; apply (sqrt_sqrt (Rsqr x) (Rle_0_sqr x)). Qed.

forall x : R, 0 <= x -> sqrt x² = x

forall x : R, 0 <= x -> sqrt x² = x
intros; unfold Rsqr; apply sqrt_square; assumption. Qed.

forall x : R, 0 <= x -> sqrt (x ^ 2) = x
intros; simpl; rewrite Rmult_1_r, sqrt_square; auto. Qed.

forall x : R, sqrt x² = Rabs x

forall x : R, sqrt x² = Rabs x
intro x; rewrite Rsqr_abs; apply sqrt_Rsqr; apply Rabs_pos. Qed.

forall x : R, 0 <= x -> (sqrt x)² = x

forall x : R, 0 <= x -> (sqrt x)² = x
intros x H1; unfold Rsqr; apply (sqrt_sqrt x H1). Qed.

forall x y : R, 0 <= x -> sqrt (x * y) = sqrt x * sqrt y

forall x y : R, 0 <= x -> sqrt (x * y) = sqrt x * sqrt y
x, y:R
Hx:0 <= x

sqrt (x * y) = sqrt x * sqrt y
x, y:R
Hx:0 <= x

sqrt (x * y) = sqrt x * match Rcase_abs y with | left _ => 0 | right a => Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 a |} end
x, y:R
Hx:0 <= x
Hy:y < 0

sqrt (x * y) = sqrt x * 0
x, y:R
Hx:0 <= x
Hy:y >= 0
sqrt (x * y) = sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |}
x, y:R
Hx:0 <= x
Hy:y < 0

sqrt (x * y) = 0
x, y:R
Hx:0 <= x
Hy:y >= 0
sqrt (x * y) = sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |}
x, y:R
Hx':0 < x
Hy:y < 0

sqrt (x * y) = 0
x, y:R
Hx':0 = x
Hy:y < 0
sqrt (x * y) = 0
x, y:R
Hx:0 <= x
Hy:y >= 0
sqrt (x * y) = sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |}
x, y:R
Hx':0 < x
Hy:y < 0

match Rcase_abs (x * y) with | left _ => 0 | right a => Rsqrt {| nonneg := x * y; cond_nonneg := Rge_le (x * y) 0 a |} end = 0
x, y:R
Hx':0 = x
Hy:y < 0
sqrt (x * y) = 0
x, y:R
Hx:0 <= x
Hy:y >= 0
sqrt (x * y) = sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |}
x, y:R
Hx':0 < x
Hy:y < 0
Hxy:x * y < 0

0 = 0
x, y:R
Hx':0 < x
Hy:y < 0
Hxy:x * y >= 0
Rsqrt {| nonneg := x * y; cond_nonneg := Rge_le (x * y) 0 Hxy |} = 0
x, y:R
Hx':0 = x
Hy:y < 0
sqrt (x * y) = 0
x, y:R
Hx:0 <= x
Hy:y >= 0
sqrt (x * y) = sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |}
x, y:R
Hx':0 < x
Hy:y < 0
Hxy:x * y >= 0

Rsqrt {| nonneg := x * y; cond_nonneg := Rge_le (x * y) 0 Hxy |} = 0
x, y:R
Hx':0 = x
Hy:y < 0
sqrt (x * y) = 0
x, y:R
Hx:0 <= x
Hy:y >= 0
sqrt (x * y) = sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |}
x, y:R
Hx':0 < x
Hy:y < 0
Hxy:x * y >= 0

x * y < 0
x, y:R
Hx':0 = x
Hy:y < 0
sqrt (x * y) = 0
x, y:R
Hx:0 <= x
Hy:y >= 0
sqrt (x * y) = sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |}
x, y:R
Hx':0 < x
Hy:y < 0
Hxy:x * y >= 0

x * y < x * 0
x, y:R
Hx':0 = x
Hy:y < 0
sqrt (x * y) = 0
x, y:R
Hx:0 <= x
Hy:y >= 0
sqrt (x * y) = sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |}
x, y:R
Hx':0 = x
Hy:y < 0

sqrt (x * y) = 0
x, y:R
Hx:0 <= x
Hy:y >= 0
sqrt (x * y) = sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |}
x, y:R
Hx':0 = x
Hy:y < 0

sqrt 0 = 0
x, y:R
Hx:0 <= x
Hy:y >= 0
sqrt (x * y) = sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |}
x, y:R
Hx:0 <= x
Hy:y >= 0

sqrt (x * y) = sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |}
x, y:R
Hx:0 <= x
Hy:y >= 0

0 <= sqrt (x * y)
x, y:R
Hx:0 <= x
Hy:y >= 0
0 <= sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |}
x, y:R
Hx:0 <= x
Hy:y >= 0
(sqrt (x * y))² = (sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |})²
x, y:R
Hx:0 <= x
Hy:y >= 0

0 <= sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |}
x, y:R
Hx:0 <= x
Hy:y >= 0
(sqrt (x * y))² = (sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |})²
x, y:R
Hx:0 <= x
Hy:y >= 0

0 <= sqrt x
x, y:R
Hx:0 <= x
Hy:y >= 0
0 <= Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |}
x, y:R
Hx:0 <= x
Hy:y >= 0
(sqrt (x * y))² = (sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |})²
x, y:R
Hx:0 <= x
Hy:y >= 0

0 <= Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |}
x, y:R
Hx:0 <= x
Hy:y >= 0
(sqrt (x * y))² = (sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |})²
x, y:R
Hx:0 <= x
Hy:y >= 0

(sqrt (x * y))² = (sqrt x * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |})²
x, y:R
Hx:0 <= x
Hy:y >= 0

x * y = x * (Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |})²
x, y:R
Hx:0 <= x
Hy:y >= 0
0 <= x
x, y:R
Hx:0 <= x
Hy:y >= 0
0 <= x * y
x, y:R
Hx:0 <= x
Hy:y >= 0

x * y = x * (Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |} * Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |})
x, y:R
Hx:0 <= x
Hy:y >= 0
0 <= x
x, y:R
Hx:0 <= x
Hy:y >= 0
0 <= x * y
x, y:R
Hx:0 <= x
Hy:y >= 0

0 <= x
x, y:R
Hx:0 <= x
Hy:y >= 0
0 <= x * y
x, y:R
Hx:0 <= x
Hy:y >= 0

0 <= x * y
x, y:R
Hx:0 <= x
Hy:y >= 0

0 <= x
x, y:R
Hx:0 <= x
Hy:y >= 0
0 <= y
x, y:R
Hx:0 <= x
Hy:y >= 0

0 <= y
now apply Rge_le. Qed.

forall x y : R, 0 <= x -> 0 <= y -> sqrt (x * y) = sqrt x * sqrt y

forall x y : R, 0 <= x -> 0 <= y -> sqrt (x * y) = sqrt x * sqrt y
x, y:R
Hx:0 <= x

sqrt (x * y) = sqrt x * sqrt y
now apply sqrt_mult_alt. Qed.

forall x : R, 0 < x -> 0 < sqrt x

forall x : R, 0 < x -> 0 < sqrt x
intros x H1; apply Rsqr_incrst_0; [ rewrite Rsqr_0; rewrite Rsqr_sqrt; [ assumption | left; assumption ] | right; reflexivity | apply (sqrt_positivity x (Rlt_le 0 x H1)) ]. Qed.

forall x y : R, 0 < x -> 0 < y -> 0 < x * / y
x, y:R
H:0 < x
H0:0 < y

0 < x * / y
x, y:R
H:0 < x
H0:0 < y

x * 0 < x * / y
x, y:R
H:0 < x
H0:0 < y
x * 0 = 0
x, y:R
H:0 < x
H0:0 < y

x * 0 = 0
ring. Qed.

forall x y : R, 0 <= x -> 0 < y -> 0 <= x * / y
x, y:R
H:0 <= x
H0:0 < y

0 <= x * / y
x, y:R
H:0 <= x
H0:0 < y
H1:0 < x

0 <= x * / y
x, y:R
H:0 <= x
H0:0 < y
H1:0 = x
0 <= x * / y
x, y:R
H:0 <= x
H0:0 < y
H1:0 < x

0 < x * / y
x, y:R
H:0 <= x
H0:0 < y
H1:0 = x
0 <= x * / y
x, y:R
H:0 <= x
H0:0 < y
H1:0 = x

0 <= x * / y
x, y:R
H:0 <= x
H0:0 < y
H1:0 = x

0 <= 0 * / y
red; right; ring. Qed.

forall x y : R, 0 < y -> sqrt (x / y) = sqrt x / sqrt y

forall x y : R, 0 < y -> sqrt (x / y) = sqrt x / sqrt y
x, y:R
Hy:0 < y

sqrt (x / y) = sqrt x / sqrt y
x, y:R
Hy:0 < y

sqrt (x / y) = match Rcase_abs x with | left _ => 0 | right a => Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 a |} end / sqrt y
x, y:R
Hy:0 < y
Hx:x < 0

sqrt (x / y) = 0 / sqrt y
x, y:R
Hy:0 < y
Hx:x >= 0
sqrt (x / y) = Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} / sqrt y
x, y:R
Hy:0 < y
Hx:x < 0

sqrt (x * / y) = 0 * / sqrt y
x, y:R
Hy:0 < y
Hx:x >= 0
sqrt (x / y) = Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} / sqrt y
x, y:R
Hy:0 < y
Hx:x < 0

sqrt (x * / y) = 0
x, y:R
Hy:0 < y
Hx:x >= 0
sqrt (x / y) = Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} / sqrt y
x, y:R
Hy:0 < y
Hx:x < 0

match Rcase_abs (x * / y) with | left _ => 0 | right a => Rsqrt {| nonneg := x * / y; cond_nonneg := Rge_le (x * / y) 0 a |} end = 0
x, y:R
Hy:0 < y
Hx:x >= 0
sqrt (x / y) = Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} / sqrt y
x, y:R
Hy:0 < y
Hx:x < 0
Hxy:x * / y < 0

0 = 0
x, y:R
Hy:0 < y
Hx:x < 0
Hxy:x * / y >= 0
Rsqrt {| nonneg := x * / y; cond_nonneg := Rge_le (x * / y) 0 Hxy |} = 0
x, y:R
Hy:0 < y
Hx:x >= 0
sqrt (x / y) = Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} / sqrt y
x, y:R
Hy:0 < y
Hx:x < 0
Hxy:x * / y >= 0

Rsqrt {| nonneg := x * / y; cond_nonneg := Rge_le (x * / y) 0 Hxy |} = 0
x, y:R
Hy:0 < y
Hx:x >= 0
sqrt (x / y) = Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} / sqrt y
x, y:R
Hy:0 < y
Hx:x < 0
Hxy:x * / y >= 0

x * / y < 0
x, y:R
Hy:0 < y
Hx:x >= 0
sqrt (x / y) = Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} / sqrt y
x, y:R
Hy:0 < y
Hx:x < 0
Hxy:x * / y >= 0

0 < y
x, y:R
Hy:0 < y
Hx:x < 0
Hxy:x * / y >= 0
x * / y * y < 0 * y
x, y:R
Hy:0 < y
Hx:x >= 0
sqrt (x / y) = Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} / sqrt y
x, y:R
Hy:0 < y
Hx:x < 0
Hxy:x * / y >= 0

x * / y * y < 0 * y
x, y:R
Hy:0 < y
Hx:x >= 0
sqrt (x / y) = Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} / sqrt y
x, y:R
Hy:0 < y
Hx:x < 0
Hxy:x * / y >= 0

x < 0
x, y:R
Hy:0 < y
Hx:x < 0
Hxy:x * / y >= 0
y <> 0
x, y:R
Hy:0 < y
Hx:x >= 0
sqrt (x / y) = Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} / sqrt y
x, y:R
Hy:0 < y
Hx:x < 0
Hxy:x * / y >= 0

y <> 0
x, y:R
Hy:0 < y
Hx:x >= 0
sqrt (x / y) = Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} / sqrt y
x, y:R
Hy:0 < y
Hx:x >= 0

sqrt (x / y) = Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} / sqrt y
x, y:R
Hy:0 < y
Hx:x >= 0
Hx':=Rge_le x 0 Hx:0 <= x

sqrt (x / y) = Rsqrt {| nonneg := x; cond_nonneg := Hx' |} / sqrt y
x, y:R
Hy:0 < y
Hx:x >= 0
Hx':0 <= x

sqrt (x / y) = Rsqrt {| nonneg := x; cond_nonneg := Hx' |} / sqrt y
x, y:R
Hy:0 < y
Hx':0 <= x

sqrt (x / y) = Rsqrt {| nonneg := x; cond_nonneg := Hx' |} / sqrt y
x, y:R
Hy:0 < y
Hx':0 <= x

0 <= sqrt (x / y)
x, y:R
Hy:0 < y
Hx':0 <= x
0 <= Rsqrt {| nonneg := x; cond_nonneg := Hx' |} / sqrt y
x, y:R
Hy:0 < y
Hx':0 <= x
(sqrt (x / y))² = (Rsqrt {| nonneg := x; cond_nonneg := Hx' |} / sqrt y)²
x, y:R
Hy:0 < y
Hx':0 <= x

0 <= Rsqrt {| nonneg := x; cond_nonneg := Hx' |} / sqrt y
x, y:R
Hy:0 < y
Hx':0 <= x
(sqrt (x / y))² = (Rsqrt {| nonneg := x; cond_nonneg := Hx' |} / sqrt y)²
x, y:R
Hy:0 < y
Hx':0 <= x

0 <= Rsqrt {| nonneg := x; cond_nonneg := Hx' |}
x, y:R
Hy:0 < y
Hx':0 <= x
0 < sqrt y
x, y:R
Hy:0 < y
Hx':0 <= x
(sqrt (x / y))² = (Rsqrt {| nonneg := x; cond_nonneg := Hx' |} / sqrt y)²
x, y:R
Hy:0 < y
Hx':0 <= x

0 < sqrt y
x, y:R
Hy:0 < y
Hx':0 <= x
(sqrt (x / y))² = (Rsqrt {| nonneg := x; cond_nonneg := Hx' |} / sqrt y)²
x, y:R
Hy:0 < y
Hx':0 <= x

(sqrt (x / y))² = (Rsqrt {| nonneg := x; cond_nonneg := Hx' |} / sqrt y)²
x, y:R
Hy:0 < y
Hx':0 <= x

x / y = (Rsqrt {| nonneg := x; cond_nonneg := Hx' |})² / y
x, y:R
Hy:0 < y
Hx':0 <= x
0 <= y
x, y:R
Hy:0 < y
Hx':0 <= x
0 <= x / y
x, y:R
Hy:0 < y
Hx':0 <= x
sqrt y <> 0
x, y:R
Hy:0 < y
Hx':0 <= x

x / y = Rsqrt {| nonneg := x; cond_nonneg := Hx' |} * Rsqrt {| nonneg := x; cond_nonneg := Hx' |} / y
x, y:R
Hy:0 < y
Hx':0 <= x
0 <= y
x, y:R
Hy:0 < y
Hx':0 <= x
0 <= x / y
x, y:R
Hy:0 < y
Hx':0 <= x
sqrt y <> 0
x, y:R
Hy:0 < y
Hx':0 <= x

0 <= y
x, y:R
Hy:0 < y
Hx':0 <= x
0 <= x / y
x, y:R
Hy:0 < y
Hx':0 <= x
sqrt y <> 0
x, y:R
Hy:0 < y
Hx':0 <= x

0 <= x / y
x, y:R
Hy:0 < y
Hx':0 <= x
sqrt y <> 0
x, y:R
Hy:0 < y
Hx':0 <= x

sqrt y <> 0
x, y:R
Hy:0 < y
Hx':0 <= x

sqrt y > 0
now apply sqrt_lt_R0. Qed.

forall x y : R, 0 <= x -> 0 < y -> sqrt (x / y) = sqrt x / sqrt y

forall x y : R, 0 <= x -> 0 < y -> sqrt (x / y) = sqrt x / sqrt y
x, y:R
H:0 < y

sqrt (x / y) = sqrt x / sqrt y
now apply sqrt_div_alt. Qed.

forall x y : R, sqrt x < sqrt y -> x < y

forall x y : R, sqrt x < sqrt y -> x < y
x, y:R

sqrt x < sqrt y -> x < y
x, y:R

sqrt x < match Rcase_abs y with | left _ => 0 | right a => Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 a |} end -> x < y
x, y:R
Hy:y < 0

sqrt x < 0 -> x < y
x, y:R
Hy:y >= 0
sqrt x < Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |} -> x < y
x, y:R
Hy:y < 0
Hx:sqrt x < 0

x < y
x, y:R
Hy:y >= 0
sqrt x < Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |} -> x < y
x, y:R
Hy:y < 0
Hx:sqrt x < 0

0 <= sqrt x
x, y:R
Hy:y >= 0
sqrt x < Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |} -> x < y
x, y:R
Hy:y >= 0

sqrt x < Rsqrt {| nonneg := y; cond_nonneg := Rge_le y 0 Hy |} -> x < y
x, y:R
Hy:y >= 0
Hy':=Rge_le y 0 Hy:0 <= y

sqrt x < Rsqrt {| nonneg := y; cond_nonneg := Hy' |} -> x < y
x, y:R
Hy:y >= 0
Hy':0 <= y

sqrt x < Rsqrt {| nonneg := y; cond_nonneg := Hy' |} -> x < y
x, y:R
Hy':0 <= y

sqrt x < Rsqrt {| nonneg := y; cond_nonneg := Hy' |} -> x < y
x, y:R
Hy':0 <= y

match Rcase_abs x with | left _ => 0 | right a => Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 a |} end < Rsqrt {| nonneg := y; cond_nonneg := Hy' |} -> x < y
x, y:R
Hy':0 <= y
Hx:x < 0

0 < Rsqrt {| nonneg := y; cond_nonneg := Hy' |} -> x < y
x, y:R
Hy':0 <= y
Hx:x >= 0
Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} < Rsqrt {| nonneg := y; cond_nonneg := Hy' |} -> x < y
x, y:R
Hy':0 <= y
Hx:x < 0

x < y
x, y:R
Hy':0 <= y
Hx:x >= 0
Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} < Rsqrt {| nonneg := y; cond_nonneg := Hy' |} -> x < y
x, y:R
Hy':0 <= y
Hx:x >= 0

Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} < Rsqrt {| nonneg := y; cond_nonneg := Hy' |} -> x < y
x, y:R
Hy':0 <= y
Hx:x >= 0
Hxy:Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} < Rsqrt {| nonneg := y; cond_nonneg := Hy' |}

x < y
x, y:R
Hy':0 <= y
Hx:x >= 0
Hxy:(Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |})² < (Rsqrt {| nonneg := y; cond_nonneg := Hy' |})²

x < y
x, y:R
Hy':0 <= y
Hx:x >= 0
Hxy:Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} * Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx |} < Rsqrt {| nonneg := y; cond_nonneg := Hy' |} * Rsqrt {| nonneg := y; cond_nonneg := Hy' |}

x < y
now rewrite 2!Rsqrt_Rsqrt in Hxy. Qed.

forall x y : R, 0 <= x -> 0 <= y -> sqrt x < sqrt y -> x < y

forall x y : R, 0 <= x -> 0 <= y -> sqrt x < sqrt y -> x < y
x, y:R

sqrt x < sqrt y -> x < y
apply sqrt_lt_0_alt. Qed.

forall x y : R, 0 <= x < y -> sqrt x < sqrt y

forall x y : R, 0 <= x < y -> sqrt x < sqrt y
x, y:R
Hx:0 <= x
Hxy:x < y

sqrt x < sqrt y
x, y:R
Hx:0 <= x
Hxy:x < y

(sqrt x)² < (sqrt y)²
x, y:R
Hx:0 <= x
Hxy:x < y

x < y
x, y:R
Hx:0 <= x
Hxy:x < y
0 <= y
x, y:R
Hx:0 <= x
Hxy:x < y
0 <= x
x, y:R
Hx:0 <= x
Hxy:x < y

0 <= y
x, y:R
Hx:0 <= x
Hxy:x < y
0 <= x
x, y:R
Hx:0 <= x
Hxy:x < y

0 < y
x, y:R
Hx:0 <= x
Hxy:x < y
0 <= x
x, y:R
Hx:0 <= x
Hxy:x < y

0 <= x
exact Hx. Qed.

forall x y : R, 0 <= x -> 0 <= y -> x < y -> sqrt x < sqrt y

forall x y : R, 0 <= x -> 0 <= y -> x < y -> sqrt x < sqrt y
x, y:R
Hx:0 <= x
Hxy:x < y

sqrt x < sqrt y
x, y:R
Hx:0 <= x
Hxy:x < y

0 <= x < y
now split. Qed.

forall x y : R, 0 <= x -> 0 <= y -> sqrt x <= sqrt y -> x <= y

forall x y : R, 0 <= x -> 0 <= y -> sqrt x <= sqrt y -> x <= y
intros x y H1 H2 H3; generalize (Rsqr_incr_1 (sqrt x) (sqrt y) H3 (sqrt_positivity x H1) (sqrt_positivity y H2)); intro H4; rewrite (Rsqr_sqrt x H1) in H4; rewrite (Rsqr_sqrt y H2) in H4; assumption. Qed.

forall x y : R, x <= y -> sqrt x <= sqrt y

forall x y : R, x <= y -> sqrt x <= sqrt y
x, y:R
Hxy:x < y

sqrt x <= sqrt y
x, y:R
Hxy:x = y
sqrt x <= sqrt y
x, y:R
Hxy:x < y
Hx:0 <= x

sqrt x <= sqrt y
x, y:R
Hxy:x < y
Hx:x < 0
sqrt x <= sqrt y
x, y:R
Hxy:x = y
sqrt x <= sqrt y
x, y:R
Hxy:x < y
Hx:0 <= x

sqrt x < sqrt y
x, y:R
Hxy:x < y
Hx:x < 0
sqrt x <= sqrt y
x, y:R
Hxy:x = y
sqrt x <= sqrt y
x, y:R
Hxy:x < y
Hx:0 <= x

0 <= x < y
x, y:R
Hxy:x < y
Hx:x < 0
sqrt x <= sqrt y
x, y:R
Hxy:x = y
sqrt x <= sqrt y
x, y:R
Hxy:x < y
Hx:x < 0

sqrt x <= sqrt y
x, y:R
Hxy:x = y
sqrt x <= sqrt y
x, y:R
Hxy:x < y
Hx:x < 0

match Rcase_abs x with | left _ => 0 | right a => Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 a |} end <= sqrt y
x, y:R
Hxy:x = y
sqrt x <= sqrt y
x, y:R
Hxy:x < y
Hx, Hx':x < 0

0 <= sqrt y
x, y:R
Hxy:x < y
Hx:x < 0
Hx':x >= 0
Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx' |} <= sqrt y
x, y:R
Hxy:x = y
sqrt x <= sqrt y
x, y:R
Hxy:x < y
Hx:x < 0
Hx':x >= 0

Rsqrt {| nonneg := x; cond_nonneg := Rge_le x 0 Hx' |} <= sqrt y
x, y:R
Hxy:x = y
sqrt x <= sqrt y
x, y:R
Hxy:x = y

sqrt x <= sqrt y
x, y:R
Hxy:x = y

sqrt y <= sqrt y
apply Rle_refl. Qed.

forall x y : R, 0 <= x -> 0 <= y -> x <= y -> sqrt x <= sqrt y

forall x y : R, 0 <= x -> 0 <= y -> x <= y -> sqrt x <= sqrt y
x, y:R
Hxy:x <= y

sqrt x <= sqrt y
now apply sqrt_le_1_alt. Qed.

forall x y : R, 0 <= x -> 0 <= y -> sqrt x = sqrt y -> x = y

forall x y : R, 0 <= x -> 0 <= y -> sqrt x = sqrt y -> x = y
x, y:R
H:0 <= x
H0:0 <= y
H1:sqrt x = sqrt y

(sqrt x)² = (sqrt y)² -> x = y
x, y:R
H:0 <= x
H0:0 <= y
H1:sqrt x = sqrt y
(sqrt x)² = (sqrt y)²
x, y:R
H:0 <= x
H0:0 <= y
H1:sqrt x = sqrt y

(sqrt x)² = (sqrt y)²
rewrite H1; reflexivity. Qed.

forall x : R, 1 < x -> sqrt x < x

forall x : R, 1 < x -> sqrt x < x
x:R
Hx:1 < x

sqrt x < x
x:R
Hx:1 < x
Hx1:0 < x

sqrt x < x
x:R
Hx:1 < x
Hx1:0 < x
Hx2:0 <= x

sqrt x < x
x:R
Hx:1 < x
Hx1:0 < x
Hx2:0 <= x

(sqrt x)² < x²
x:R
Hx:1 < x
Hx1:0 < x
Hx2:0 <= x
0 <= sqrt x
x:R
Hx:1 < x
Hx1:0 < x
Hx2:0 <= x

x < x²
x:R
Hx:1 < x
Hx1:0 < x
Hx2:0 <= x
0 <= sqrt x
x:R
Hx:1 < x
Hx1:0 < x
Hx2:0 <= x

1 * x < x²
x:R
Hx:1 < x
Hx1:0 < x
Hx2:0 <= x
0 <= sqrt x
x:R
Hx:1 < x
Hx1:0 < x
Hx2:0 <= x

0 <= sqrt x
apply sqrt_pos. Qed.

forall x : R, 0 <= x -> 1 < x -> sqrt x < x

forall x : R, 0 <= x -> 1 < x -> sqrt x < x
x:R

1 < x -> sqrt x < x
apply sqrt_less_alt. Qed.

forall x : R, 0 < x -> x < 1 -> x < sqrt x

forall x : R, 0 < x -> x < 1 -> x < sqrt x
intros x H1 H2; generalize (sqrt_lt_1 x 1 (Rlt_le 0 x H1) (Rlt_le 0 1 Rlt_0_1) H2); intro H3; rewrite sqrt_1 in H3; generalize (Rmult_ne (sqrt x)); intro H4; elim H4; intros H5 H6; rewrite <- H5; pattern x at 1; rewrite <- (sqrt_def x (Rlt_le 0 x H1)); apply (Rmult_lt_compat_l (sqrt x) (sqrt x) 1 (sqrt_lt_R0 x H1) H3). Qed.

forall a b c d : R, a * c + b * d <= sqrt (a² + b²) * sqrt (c² + d²)

forall a b c d : R, a * c + b * d <= sqrt (a² + b²) * sqrt (c² + d²)
intros a b c d; apply Rsqr_incr_0_var; [ rewrite Rsqr_mult; repeat rewrite Rsqr_sqrt; unfold Rsqr; [ replace ((a * c + b * d) * (a * c + b * d)) with (a * a * c * c + b * b * d * d + 2 * a * b * c * d); [ replace ((a * a + b * b) * (c * c + d * d)) with (a * a * c * c + b * b * d * d + (a * a * d * d + b * b * c * c)); [ apply Rplus_le_compat_l; replace (a * a * d * d + b * b * c * c) with (2 * a * b * c * d + (a * a * d * d + b * b * c * c - 2 * a * b * c * d)); [ pattern (2 * a * b * c * d) at 1; rewrite <- Rplus_0_r; apply Rplus_le_compat_l; replace (a * a * d * d + b * b * c * c - 2 * a * b * c * d) with (Rsqr (a * d - b * c)); [ apply Rle_0_sqr | unfold Rsqr; ring ] | ring ] | ring ] | ring ] | apply (Rplus_le_le_0_compat (Rsqr c) (Rsqr d) (Rle_0_sqr c) (Rle_0_sqr d)) | apply (Rplus_le_le_0_compat (Rsqr a) (Rsqr b) (Rle_0_sqr a) (Rle_0_sqr b)) ] | apply Rmult_le_pos; apply sqrt_positivity; apply Rplus_le_le_0_compat; apply Rle_0_sqr ]. Qed. (************************************************************)

Resolution of a×X^2+b×X+c=0

(************************************************************)

Definition Delta (a:nonzeroreal) (b c:R) : R := Rsqr b - 4 * a * c.

Definition Delta_is_pos (a:nonzeroreal) (b c:R) : Prop := 0 <= Delta a b c.

Definition sol_x1 (a:nonzeroreal) (b c:R) : R :=
  (- b + sqrt (Delta a b c)) / (2 * a).

Definition sol_x2 (a:nonzeroreal) (b c:R) : R :=
  (- b - sqrt (Delta a b c)) / (2 * a).


forall (a : nonzeroreal) (b c x : R), Delta_is_pos a b c -> x = sol_x1 a b c \/ x = sol_x2 a b c -> a * x² + b * x + c = 0

forall (a : nonzeroreal) (b c x : R), Delta_is_pos a b c -> x = sol_x1 a b c \/ x = sol_x2 a b c -> a * x² + b * x + c = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x1 a b c

a * x² + b * x + c = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c
a * x² + b * x + c = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x1 a b c

a * (sol_x1 a b c)² + b * sol_x1 a b c + c = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c
a * x² + b * x + c = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x1 a b c

a * ((- b + sqrt (b * b - 4 * a * c)) / (2 * a) * ((- b + sqrt (b * b - 4 * a * c)) / (2 * a))) + b * ((- b + sqrt (b * b - 4 * a * c)) / (2 * a)) + c = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c
a * x² + b * x + c = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x1 a b c

(4 * a * c - b ^ 2 + sqrt (b * b - 4 * a * c) ^ 2) / (4 * a) = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x1 a b c
a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c
a * x² + b * x + c = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x1 a b c

(4 * a * c - b ^ 2 + (b * b - 4 * a * c)) / (4 * a) = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x1 a b c
0 <= b * b - 4 * a * c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x1 a b c
a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c
a * x² + b * x + c = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x1 a b c

a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x1 a b c
0 <= b * b - 4 * a * c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x1 a b c
a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c
a * x² + b * x + c = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x1 a b c

0 <= b * b - 4 * a * c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x1 a b c
a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c
a * x² + b * x + c = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x1 a b c

a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c
a * x² + b * x + c = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c

a * x² + b * x + c = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c

a * (sol_x2 a b c)² + b * sol_x2 a b c + c = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c

a * ((- b - sqrt (b * b - 4 * a * c)) / (2 * a) * ((- b - sqrt (b * b - 4 * a * c)) / (2 * a))) + b * ((- b - sqrt (b * b - 4 * a * c)) / (2 * a)) + c = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c

(4 * a * c - b ^ 2 + sqrt (b * b - 4 * a * c) ^ 2) / (4 * a) = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c
a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c

(4 * a * c - b ^ 2 + (b * b - 4 * a * c)) / (4 * a) = 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c
0 <= b * b - 4 * a * c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c
a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c

a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c
0 <= b * b - 4 * a * c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c
a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c

0 <= b * b - 4 * a * c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c
a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:x = sol_x1 a b c \/ x = sol_x2 a b c
H1:x = sol_x2 a b c

a <> 0
apply a. Qed.

forall (a : nonzeroreal) (b c x : R), Delta_is_pos a b c -> a * x² + b * x + c = 0 -> x = sol_x1 a b c \/ x = sol_x2 a b c

forall (a : nonzeroreal) (b c x : R), Delta_is_pos a b c -> a * x² + b * x + c = 0 -> x = sol_x1 a b c \/ x = sol_x2 a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0

b² - 4 * a * c = Delta a b c -> a * (x + b / (2 * a))² = - ((4 * a * c - b²) / (4 * a)) -> x = sol_x1 a b c \/ x = sol_x2 a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c

a * (x + b / (2 * a))² = (b² - 4 * a * c) / (4 * a) -> x = sol_x1 a b c \/ x = sol_x2 a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

(x + b / (2 * a))² = / a * (Delta a b c / (4 * a)) -> x = sol_x1 a b c \/ x = sol_x2 a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

(x + b / (2 * a))² = (sqrt (Delta a b c) / (2 * a))² -> x = sol_x1 a b c \/ x = sol_x2 a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(sqrt (Delta a b c) / (2 * a))² = / a * (Delta a b c / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
H3:(x + b / (2 * a))² = (sqrt (Delta a b c) / (2 * a))²
H4:x + b / (2 * a) = sqrt (Delta a b c) / (2 * a) \/ x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))
H5:x + b / (2 * a) = sqrt (Delta a b c) / (2 * a)

x = sol_x1 a b c \/ x = sol_x2 a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
H3:(x + b / (2 * a))² = (sqrt (Delta a b c) / (2 * a))²
H4:x + b / (2 * a) = sqrt (Delta a b c) / (2 * a) \/ x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))
H5:x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))
x = sol_x1 a b c \/ x = sol_x2 a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(sqrt (Delta a b c) / (2 * a))² = / a * (Delta a b c / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
H3:(x + b / (2 * a))² = (sqrt (Delta a b c) / (2 * a))²
H4:x + b / (2 * a) = sqrt (Delta a b c) / (2 * a) \/ x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))
H5:x + b / (2 * a) = sqrt (Delta a b c) / (2 * a)

x = - (b / (2 * a)) + sqrt (Delta a b c) / (2 * a) -> x = (- b + sqrt (Delta a b c)) / (2 * a)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
H3:(x + b / (2 * a))² = (sqrt (Delta a b c) / (2 * a))²
H4:x + b / (2 * a) = sqrt (Delta a b c) / (2 * a) \/ x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))
H5:x + b / (2 * a) = sqrt (Delta a b c) / (2 * a)
x = - (b / (2 * a)) + (x + b / (2 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
H3:(x + b / (2 * a))² = (sqrt (Delta a b c) / (2 * a))²
H4:x + b / (2 * a) = sqrt (Delta a b c) / (2 * a) \/ x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))
H5:x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))
x = sol_x1 a b c \/ x = sol_x2 a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(sqrt (Delta a b c) / (2 * a))² = / a * (Delta a b c / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
H3:(x + b / (2 * a))² = (sqrt (Delta a b c) / (2 * a))²
H4:x + b / (2 * a) = sqrt (Delta a b c) / (2 * a) \/ x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))
H5:x + b / (2 * a) = sqrt (Delta a b c) / (2 * a)

x = - (b / (2 * a)) + (x + b / (2 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
H3:(x + b / (2 * a))² = (sqrt (Delta a b c) / (2 * a))²
H4:x + b / (2 * a) = sqrt (Delta a b c) / (2 * a) \/ x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))
H5:x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))
x = sol_x1 a b c \/ x = sol_x2 a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(sqrt (Delta a b c) / (2 * a))² = / a * (Delta a b c / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
H3:(x + b / (2 * a))² = (sqrt (Delta a b c) / (2 * a))²
H4:x + b / (2 * a) = sqrt (Delta a b c) / (2 * a) \/ x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))
H5:x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))

x = sol_x1 a b c \/ x = sol_x2 a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(sqrt (Delta a b c) / (2 * a))² = / a * (Delta a b c / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
H3:(x + b / (2 * a))² = (sqrt (Delta a b c) / (2 * a))²
H4:x + b / (2 * a) = sqrt (Delta a b c) / (2 * a) \/ x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))
H5:x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))

x = - (b / (2 * a)) + - (sqrt (Delta a b c) / (2 * a)) -> x = (- b - sqrt (Delta a b c)) / (2 * a)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
H3:(x + b / (2 * a))² = (sqrt (Delta a b c) / (2 * a))²
H4:x + b / (2 * a) = sqrt (Delta a b c) / (2 * a) \/ x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))
H5:x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))
x = - (b / (2 * a)) + (x + b / (2 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(sqrt (Delta a b c) / (2 * a))² = / a * (Delta a b c / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
H3:(x + b / (2 * a))² = (sqrt (Delta a b c) / (2 * a))²
H4:x + b / (2 * a) = sqrt (Delta a b c) / (2 * a) \/ x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))
H5:x + b / (2 * a) = - (sqrt (Delta a b c) / (2 * a))

x = - (b / (2 * a)) + (x + b / (2 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(sqrt (Delta a b c) / (2 * a))² = / a * (Delta a b c / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

(sqrt (Delta a b c) / (2 * a))² = / a * (Delta a b c / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

(sqrt (Delta a b c))² / (2 * a)² = / a * (Delta a b c / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
2 * a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

Delta a b c / (2 * a)² = / a * (Delta a b c / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
0 <= Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
2 * a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

Delta a b c * / (2 * a)² = / a * (Delta a b c * / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
0 <= Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
2 * a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

Delta a b c * / (2 * a)² = / a * (Delta a b c * / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
0 <= Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
2 * a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

Delta a b c * / (2 * a)² = Delta a b c * / (4 * a) * / a
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
0 <= Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
2 * a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

Delta a b c * / (2 * a)² = Delta a b c * (/ (4 * a) * / a)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
0 <= Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
2 * a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

Delta a b c * / (2 * a)² = Delta a b c * / (4 * a * a)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
4 * a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
0 <= Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
2 * a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

Delta a b c * / (2 * a)² = Delta a b c * / (2 * a)²
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(2 * a)² = 4 * a * a
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
4 * a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
0 <= Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
2 * a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

(2 * a)² = 4 * a * a
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
4 * a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
0 <= Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
2 * a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

4 * a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
0 <= Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
2 * a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
0 <= Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
2 * a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

0 <= Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
2 * a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

2 * a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

(x + b / (2 * a))² = / a * (a * (x + b / (2 * a))²)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

(x + b / (2 * a))² = 1 * (x + b / (2 * a))²
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)
a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
H2:a * (x + b / (2 * a))² = Delta a b c / (4 * a)

a <> 0
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c
(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c

(b² - 4 * a * c) / (4 * a) = - ((4 * a * c - b²) / (4 * a))
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c

(b² - 4 * a * c) * / (4 * a) = - (4 * a * c - b²) * / (4 * a)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
H1:b² - 4 * a * c = Delta a b c

(b² - 4 * a * c) * / (4 * a) = (b² - 4 * a * c) * / (4 * a)
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0
b² - 4 * a * c = Delta a b c
a:nonzeroreal
b, c, x:R
H:Delta_is_pos a b c
H0:(4 * a * c - b²) / (4 * a) + a * (x + b / (2 * a))² = 0

b² - 4 * a * c = Delta a b c
reflexivity. Qed.