# mathlib3documentation

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

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_sq: 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.
• discrim_le_zero_of_nonpos, discrim_lt_zero, discrim_lt_zero_of_neg: versions of this statement with other inequalities.

## Tags #

def discrim {R : Type u_1} [ring R] (a b c : R) :
R

Equations
• b c = b ^ 2 - 4 * a * c
@[simp]
theorem discrim_neg {R : Type u_1} [ring R] (a b c : R) :
discrim (-a) (-b) (-c) = b c
theorem discrim_eq_sq_of_quadratic_eq_zero {R : Type u_1} [comm_ring R] {a b c x : R} (h : a * x * x + b * x + c = 0) :
b c = (2 * a * x + b) ^ 2
theorem quadratic_eq_zero_iff_discrim_eq_sq {R : Type u_1} [comm_ring R] {a b c : R} [ne_zero 2] (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_sq {R : Type u_1} [comm_ring R] {a b c : R} (h : (s : R), b c s ^ 2) (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] [ne_zero 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] [ne_zero 2] {a b c : K} (ha : a 0) (h : (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] [ne_zero 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} (h : (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_le_zero_of_nonpos {K : Type u_1} {a b c : K} (h : (x : K), a * x * x + b * x + c 0) :
b c 0
theorem discrim_lt_zero {K : Type u_1} {a b c : K} (ha : a 0) (h : (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.

theorem discrim_lt_zero_of_neg {K : Type u_1} {a b c : K} (ha : a 0) (h : (x : K), a * x * x + b * x + c < 0) :
b c < 0