Documentation

Mathlib.Data.NNReal.Basic

Basic results on nonnegative real numbers #

This file contains all results on NNReal that do not directly follow from its basic structure. As a consequence, it is a bit of a random collection of results, and is a good target for cleanup.

Notations #

This file uses ℝ≥0 as a localized notation for NNReal.

Equations
@[simp]
theorem NNReal.coe_indicator {α : Type u_1} (s : Set α) (f : αNNReal) (a : α) :
(s.indicator f a) = s.indicator (fun (x : α) => (f x)) a
theorem NNReal.coe_list_prod (l : List NNReal) :
l.prod = (List.map NNReal.toReal l).prod
@[simp]
theorem NNReal.coe_sum {ι : Type u_1} (s : Finset ι) (f : ιNNReal) :
(∑ is, f i) = is, (f i)
@[simp]
theorem NNReal.coe_expect {ι : Type u_1} (s : Finset ι) (f : ιNNReal) :
(s.expect fun (i : ι) => f i) = s.expect fun (i : ι) => (f i)
theorem Real.toNNReal_sum_of_nonneg {ι : Type u_1} {s : Finset ι} {f : ι} (hf : is, 0 f i) :
(∑ as, f a).toNNReal = as, (f a).toNNReal
@[simp]
theorem NNReal.coe_prod {ι : Type u_1} (s : Finset ι) (f : ιNNReal) :
(∏ as, f a) = as, (f a)
theorem Real.toNNReal_prod_of_nonneg {ι : Type u_1} {s : Finset ι} {f : ι} (hf : as, 0 f a) :
(∏ as, f a).toNNReal = as, (f a).toNNReal
theorem NNReal.le_iInf_add_iInf {ι : Sort u_2} {ι' : Sort u_3} [Nonempty ι] [Nonempty ι'] {f : ιNNReal} {g : ι'NNReal} {a : NNReal} (h : ∀ (i : ι) (j : ι'), a f i + g j) :
a (⨅ (i : ι), f i) + ⨅ (j : ι'), g j
theorem NNReal.mul_finset_sup {α : Type u_2} (r : NNReal) (s : Finset α) (f : αNNReal) :
r * s.sup f = s.sup fun (a : α) => r * f a
theorem NNReal.finset_sup_mul {α : Type u_2} (s : Finset α) (f : αNNReal) (r : NNReal) :
s.sup f * r = s.sup fun (a : α) => f a * r
theorem NNReal.finset_sup_div {α : Type u_2} {f : αNNReal} {s : Finset α} (r : NNReal) :
s.sup f / r = s.sup fun (a : α) => f a / r

Lemmas about subtraction #

In this section we provide a few lemmas about subtraction that do not fit well into any other typeclass. For lemmas about subtraction and addition see lemmas about OrderedSub in the file Mathlib.Algebra.Order.Sub.Basic. See also mul_tsub and tsub_mul.

theorem NNReal.sub_div (a : NNReal) (b : NNReal) (c : NNReal) :
(a - b) / c = a / c - b / c
theorem NNReal.iInf_mul {ι : Sort u_2} (f : ιNNReal) (a : NNReal) :
iInf f * a = ⨅ (i : ι), f i * a
theorem NNReal.mul_iInf {ι : Sort u_2} (f : ιNNReal) (a : NNReal) :
a * iInf f = ⨅ (i : ι), a * f i
theorem NNReal.mul_iSup {ι : Sort u_2} (f : ιNNReal) (a : NNReal) :
a * ⨆ (i : ι), f i = ⨆ (i : ι), a * f i
theorem NNReal.iSup_mul {ι : Sort u_2} (f : ιNNReal) (a : NNReal) :
(⨆ (i : ι), f i) * a = ⨆ (i : ι), f i * a
theorem NNReal.iSup_div {ι : Sort u_2} (f : ιNNReal) (a : NNReal) :
(⨆ (i : ι), f i) / a = ⨆ (i : ι), f i / a
theorem NNReal.mul_iSup_le {ι : Sort u_2} {a : NNReal} {g : NNReal} {h : ιNNReal} (H : ∀ (j : ι), g * h j a) :
g * iSup h a
theorem NNReal.iSup_mul_le {ι : Sort u_2} {a : NNReal} {g : ιNNReal} {h : NNReal} (H : ∀ (i : ι), g i * h a) :
iSup g * h a
theorem NNReal.iSup_mul_iSup_le {ι : Sort u_2} {a : NNReal} {g : ιNNReal} {h : ιNNReal} (H : ∀ (i j : ι), g i * h j a) :
iSup g * iSup h a
theorem NNReal.le_mul_iInf {ι : Sort u_2} [Nonempty ι] {a : NNReal} {g : NNReal} {h : ιNNReal} (H : ∀ (j : ι), a g * h j) :
a g * iInf h
theorem NNReal.le_iInf_mul {ι : Sort u_2} [Nonempty ι] {a : NNReal} {g : ιNNReal} {h : NNReal} (H : ∀ (i : ι), a g i * h) :
a iInf g * h
theorem NNReal.le_iInf_mul_iInf {ι : Sort u_2} [Nonempty ι] {a : NNReal} {g : ιNNReal} {h : ιNNReal} (H : ∀ (i j : ι), a g i * h j) :
a iInf g * iInf h