mathlib documentation

data.​real.​nnreal

data.​real.​nnreal

def nnreal  :
Type

Nonnegative real numbers.

Equations
@[instance]

Equations
@[simp]
theorem nnreal.​val_eq_coe (n : nnreal) :
n.val = ↑n

@[instance]

Equations
theorem nnreal.​eq {n m : nnreal} :
↑n = ↑m → n = m

theorem nnreal.​eq_iff {n m : nnreal} :
↑n = ↑m ↔ n = m

theorem nnreal.​ne_iff {x y : nnreal} :
↑x ≠ ↑y ↔ x ≠ y

Equations
theorem nnreal.​coe_of_real (r : ℝ) :
0 ≤ r → ↑(nnreal.of_real r) = r

theorem nnreal.​coe_nonneg (r : nnreal) :
0 ≤ ↑r

theorem nnreal.​coe_mk (a : ℝ) (ha : 0 ≤ a) :
↑⟨a, ha⟩ = a

@[instance]

Equations
@[instance]

Equations
@[instance]

Equations
@[instance]

Equations
@[instance]

Equations
@[instance]

Equations
@[instance]

Equations
@[instance]

Equations
@[instance]

Equations
@[simp]
theorem nnreal.​coe_eq {r₁ r₂ : nnreal} :
↑r₁ = ↑r₂ ↔ r₁ = r₂

@[simp]
theorem nnreal.​coe_zero  :
↑0 = 0

@[simp]
theorem nnreal.​coe_one  :
↑1 = 1

@[simp]
theorem nnreal.​coe_add (r₁ r₂ : nnreal) :
↑(r₁ + r₂) = ↑r₁ + ↑r₂

@[simp]
theorem nnreal.​coe_mul (r₁ r₂ : nnreal) :
↑(r₁ * r₂) = ↑r₁ * ↑r₂

@[simp]
theorem nnreal.​coe_inv (r : nnreal) :

@[simp]
theorem nnreal.​coe_bit0 (r : nnreal) :

@[simp]
theorem nnreal.​coe_bit1 (r : nnreal) :

@[simp]
theorem nnreal.​coe_sub {r₁ r₂ : nnreal} :
r₂ ≤ r₁ → ↑(r₁ - r₂) = ↑r₁ - ↑r₂

@[simp]
theorem nnreal.​coe_eq_zero (r : nnreal) :
↑r = 0 ↔ r = 0

theorem nnreal.​coe_ne_zero {r : nnreal} :
↑r ≠ 0 ↔ r ≠ 0

@[instance]

Equations
@[instance]

Equations
@[simp]
theorem nnreal.​coe_indicator {α : Type u_1} (s : set α) (f : α → nnreal) (a : α) :
↑(s.indicator f a) = s.indicator (λ (x : α), ↑(f x)) a

@[simp]
theorem nnreal.​coe_div (r₁ r₂ : nnreal) :
↑(r₁ / r₂) = ↑r₁ / ↑r₂

theorem nnreal.​coe_pow (r : nnreal) (n : ℕ) :
↑(r ^ n) = ↑r ^ n

theorem nnreal.​coe_sum {α : Type u_1} {s : finset α} {f : α → nnreal} :
↑(s.sum (λ (a : α), f a)) = s.sum (λ (a : α), ↑(f a))

theorem nnreal.​coe_prod {α : Type u_1} {s : finset α} {f : α → nnreal} :
↑(s.prod (λ (a : α), f a)) = s.prod (λ (a : α), ↑(f a))

theorem nnreal.​nsmul_coe (r : nnreal) (n : ℕ) :

@[simp]
theorem nnreal.​coe_nat_cast (n : ℕ) :

theorem nnreal.​coe_le_coe {r₁ r₂ : nnreal} :
↑r₁ ≤ ↑r₂ ↔ r₁ ≤ r₂

theorem nnreal.​coe_lt_coe {r₁ r₂ : nnreal} :
↑r₁ < ↑r₂ ↔ r₁ < r₂

theorem nnreal.​coe_pos {r : nnreal} :
0 < ↑r ↔ 0 < r

@[simp]

@[instance]

Equations
@[instance]

Equations
@[instance]

Equations
@[instance]

Equations
@[instance]

Equations
theorem nnreal.​le_of_forall_epsilon_le {a b : nnreal} :
(∀ (ε : nnreal), 0 < ε → a ≤ b + ε) → a ≤ b

theorem nnreal.​mul_sup (a b c : nnreal) :
a * (b ⊔ c) = a * b ⊔ a * c

theorem nnreal.​mul_finset_sup {α : Type u_1} {f : α → nnreal} {s : finset α} (r : nnreal) :
r * s.sup f = s.sup (λ (a : α), r * f a)

@[simp]
theorem nnreal.​coe_max (x y : nnreal) :
↑(max x y) = max ↑x ↑y

@[simp]
theorem nnreal.​coe_min (x y : nnreal) :
↑(min x y) = min ↑x ↑y

@[simp]
theorem nnreal.​zero_le_coe {q : nnreal} :
0 ≤ ↑q

@[simp]

@[simp]

@[simp]
theorem nnreal.​of_real_pos {r : ℝ} :

@[simp]

theorem nnreal.​of_real_of_nonpos {r : ℝ} :
r ≤ 0 → nnreal.of_real r = 0

@[simp]

@[simp]
theorem nnreal.​of_real_add {r p : ℝ} :

theorem nnreal.​le_of_real_iff_coe_le {r : nnreal} {p : ℝ} :
0 ≤ p → (r ≤ nnreal.of_real p ↔ ↑r ≤ p)

theorem nnreal.​of_real_lt_iff_lt_coe {r : ℝ} {p : nnreal} :
0 ≤ r → (nnreal.of_real r < p ↔ r < ↑p)

theorem nnreal.​mul_eq_mul_left {a b c : nnreal} :
a ≠ 0 → (a * b = a * c ↔ b = c)

theorem nnreal.​mul_ne_zero' {a b : nnreal} :
a ≠ 0 → b ≠ 0 → a * b ≠ 0

theorem nnreal.​sub_def {r p : nnreal} :

theorem nnreal.​sub_eq_zero {r p : nnreal} :
r ≤ p → r - p = 0

@[simp]
theorem nnreal.​sub_self {r : nnreal} :
r - r = 0

@[simp]
theorem nnreal.​sub_zero {r : nnreal} :
r - 0 = r

theorem nnreal.​sub_pos {r p : nnreal} :
0 < r - p ↔ p < r

theorem nnreal.​sub_lt_self {r p : nnreal} :
0 < r → 0 < p → r - p < r

@[simp]
theorem nnreal.​sub_le_iff_le_add {r p q : nnreal} :
r - p ≤ q ↔ r ≤ q + p

@[simp]
theorem nnreal.​sub_le_self {r p : nnreal} :
r - p ≤ r

theorem nnreal.​add_sub_cancel {r p : nnreal} :
p + r - r = p

theorem nnreal.​add_sub_cancel' {r p : nnreal} :
r + p - r = p

@[simp]
theorem nnreal.​sub_add_cancel_of_le {a b : nnreal} :
b ≤ a → a - b + b = a

theorem nnreal.​sub_sub_cancel_of_le {r p : nnreal} :
r ≤ p → p - (p - r) = r

theorem nnreal.​lt_sub_iff_add_lt {p q r : nnreal} :
p < q - r ↔ p + r < q

theorem nnreal.​div_def {r p : nnreal} :
r / p = r * p⁻¹

theorem nnreal.​sum_div {ι : Type u_1} (s : finset ι) (f : ι → nnreal) (b : nnreal) :
s.sum (λ (i : ι), f i) / b = s.sum (λ (i : ι), f i / b)

@[simp]
theorem nnreal.​inv_zero  :
0⁻¹ = 0

@[simp]
theorem nnreal.​inv_eq_zero {r : nnreal} :
r⁻¹ = 0 ↔ r = 0

@[simp]
theorem nnreal.​inv_pos {r : nnreal} :
0 < r⁻¹ ↔ 0 < r

theorem nnreal.​div_pos {r p : nnreal} :
0 < r → 0 < p → 0 < r / p

@[simp]
theorem nnreal.​inv_one  :
1⁻¹ = 1

@[simp]
theorem nnreal.​div_one {r : nnreal} :
r / 1 = r

theorem nnreal.​mul_inv {r p : nnreal} :
(r * p)⁻¹ = p⁻¹ * r⁻¹

theorem nnreal.​inv_pow {r : nnreal} {n : ℕ} :
(r ^ n)⁻¹ = r⁻¹ ^ n

@[simp]
theorem nnreal.​inv_mul_cancel {r : nnreal} :
r ≠ 0 → r⁻¹ * r = 1

@[simp]
theorem nnreal.​mul_inv_cancel {r : nnreal} :
r ≠ 0 → r * r⁻¹ = 1

@[simp]
theorem nnreal.​div_self {r : nnreal} :
r ≠ 0 → r / r = 1

theorem nnreal.​div_self_le (r : nnreal) :
r / r ≤ 1

@[simp]
theorem nnreal.​mul_div_cancel {r p : nnreal} :
p ≠ 0 → r * p / p = r

@[simp]
theorem nnreal.​mul_div_cancel' {r p : nnreal} :
r ≠ 0 → r * (p / r) = p

@[simp]
theorem nnreal.​inv_inv {r : nnreal} :

@[simp]
theorem nnreal.​inv_le {r p : nnreal} :
r ≠ 0 → (r⁻¹ ≤ p ↔ 1 ≤ r * p)

theorem nnreal.​inv_le_of_le_mul {r p : nnreal} :
1 ≤ r * p → r⁻¹ ≤ p

@[simp]
theorem nnreal.​le_inv_iff_mul_le {r p : nnreal} :
p ≠ 0 → (r ≤ p⁻¹ ↔ r * p ≤ 1)

@[simp]
theorem nnreal.​lt_inv_iff_mul_lt {r p : nnreal} :
p ≠ 0 → (r < p⁻¹ ↔ r * p < 1)

theorem nnreal.​mul_le_iff_le_inv {a b r : nnreal} :
r ≠ 0 → (r * a ≤ b ↔ a ≤ r⁻¹ * b)

theorem nnreal.​le_div_iff_mul_le {a b r : nnreal} :
r ≠ 0 → (a ≤ b / r ↔ a * r ≤ b)

theorem nnreal.​div_le_iff {a b r : nnreal} :
r ≠ 0 → (a / r ≤ b ↔ a ≤ b * r)

theorem nnreal.​le_of_forall_lt_one_mul_lt {x y : nnreal} :
(∀ (a : nnreal), a < 1 → a * x ≤ y) → x ≤ y

theorem nnreal.​div_add_div_same (a b c : nnreal) :
a / c + b / c = (a + b) / c

theorem nnreal.​half_pos {a : nnreal} :
0 < a → 0 < a / 2

theorem nnreal.​add_halves (a : nnreal) :
a / 2 + a / 2 = a

theorem nnreal.​half_lt_self {a : nnreal} :
a ≠ 0 → a / 2 < a

theorem nnreal.​div_lt_iff {a b c : nnreal} :
c ≠ 0 → (b / c < a ↔ b < a * c)

theorem nnreal.​div_lt_one_of_lt {a b : nnreal} :
a < b → a / b < 1

theorem nnreal.​div_pow {a b : nnreal} (n : ℕ) :
(a / b) ^ n = a ^ n / b ^ n

theorem nnreal.​mul_div_assoc' (a b c : nnreal) :
a * (b / c) = a * b / c

theorem nnreal.​div_add_div (a : nnreal) {b : nnreal} (c : nnreal) {d : nnreal} :
b ≠ 0 → d ≠ 0 → a / b + c / d = (a * d + b * c) / (b * d)

theorem nnreal.​inv_eq_one_div (a : nnreal) :
a⁻¹ = 1 / a

theorem nnreal.​div_mul_eq_mul_div (a b c : nnreal) :
a / b * c = a * c / b

theorem nnreal.​add_div' (a b c : nnreal) :
c ≠ 0 → b + a / c = (b * c + a) / c

theorem nnreal.​div_add' (a b c : nnreal) :
c ≠ 0 → a / c + b = (a + b * c) / c

theorem nnreal.​one_div (a : nnreal) :
1 / a = a⁻¹

theorem nnreal.​one_div_div (a b : nnreal) :
1 / (a / b) = b / a

theorem nnreal.​div_eq_mul_one_div (a b : nnreal) :
a / b = a * (1 / b)

theorem nnreal.​div_div_eq_mul_div (a b c : nnreal) :
a / (b / c) = a * c / b

theorem nnreal.​div_div_eq_div_mul (a b c : nnreal) :
a / b / c = a / (b * c)

theorem nnreal.​div_eq_div_iff {a b c d : nnreal} :
b ≠ 0 → d ≠ 0 → (a / b = c / d ↔ a * d = c * b)

theorem nnreal.​div_eq_iff {a b c : nnreal} :
b ≠ 0 → (a / b = c ↔ a = c * b)

theorem nnreal.​eq_div_iff {a b c : nnreal} :
b ≠ 0 → (c = a / b ↔ c * b = a)

theorem nnreal.​pow_eq_zero {a : nnreal} {n : ℕ} :
a ^ n = 0 → a = 0

theorem nnreal.​pow_ne_zero {a : nnreal} (n : ℕ) :
a ≠ 0 → a ^ n ≠ 0