# mathlibdocumentation

This file defines the discriminant of a quadratic and gives the solution to a quadratic equation.

## Main definition

• discrim a b c: the discriminant of a quadratic a * x * x + b * x + c is b * b - 4 * a * c.

## Main statements

• quadratic_eq_zero_iff: roots of a quadratic can be written as (-b + s) / (2 * a) or (-b - s) / (2 * a), where s is a square root of the discriminant.
• quadratic_ne_zero_of_discrim_ne_square: if the discriminant has no square root, then the corresponding quadratic has no root.
• discrim_le_zero: if a quadratic is always non-negative, then its discriminant is non-positive.

## Tags

def discrim {R : Type u_1} [ring R] :
R → R → R → R

Equations
• b c = b ^ 2 - (4 * a) * c
theorem quadratic_eq_zero_iff_discrim_eq_square {R : Type u_1} {a b c : R} (h2 : 2 0) (ha : a 0) (x : R) :
(a * x) * x + b * x + c = 0 b c = ((2 * a) * x + b) ^ 2

A quadratic has roots if and only if its discriminant equals some square.

theorem quadratic_ne_zero_of_discrim_ne_square {R : Type u_1} {a b c : R} (h2 : 2 0) (ha : a 0) (h : ∀ (s : R), b c s * s) (x : R) :
(a * x) * x + b * x + c 0

A quadratic has no root if its discriminant has no square root.

theorem quadratic_eq_zero_iff {K : Type u_1} [field K] [invertible 2] {a b c : K} (ha : a 0) {s : K} (h : b c = s * s) (x : K) :
(a * x) * x + b * x + c = 0 x = (-b + s) / 2 * a x = (-b - s) / 2 * a

theorem exists_quadratic_eq_zero {K : Type u_1} [field K] [invertible 2] {a b c : K} :
a 0(∃ (s : K), b c = s * s)(∃ (x : K), (a * x) * x + b * x + c = 0)

A quadratic has roots if its discriminant has square roots

theorem quadratic_eq_zero_iff_of_discrim_eq_zero {K : Type u_1} [field K] [invertible 2] {a b c : K} (ha : a 0) (h : b c = 0) (x : K) :
(a * x) * x + b * x + c = 0 x = -b / 2 * a

Root of a quadratic when its discriminant equals zero

theorem discrim_le_zero {K : Type u_1} {a b c : K} :
(∀ (x : K), 0 (a * x) * x + b * x + c) b c 0

If a polynomial of degree 2 is always nonnegative, then its discriminant is nonpositive

theorem discrim_lt_zero {K : Type u_1} {a b c : K} :
a 0(∀ (x : K), 0 < (a * x) * x + b * x + c) b c < 0

If a polynomial of degree 2 is always positive, then its discriminant is negative, at least when the coefficient of the quadratic term is nonzero.