File: Mathlib/Analysis/SpecialFunctions/Log/ENNRealLog.lean

full_name: ENNReal.log
code: /-- The logarithm function defined on the extended nonnegative reals `ℝ≥0∞`
to the extended reals `EReal`. Coincides with the usual logarithm function
and with `Real.log` on positive reals, and takes values `log 0 = ⊥` and `log ⊤ = ⊤`.
Conventions about multiplication in `ℝ≥0∞` and addition in `EReal` make the identity
`log (x * y) = log x + log y` unconditional. -/
noncomputable def log (x : ℝ≥0∞) : EReal 
goal: EReal

full_name: ENNReal.log_zero
code: @[simp] lemma log_zero : log 0 = ⊥ 
goal: ENNReal.log 0 = ⊥

full_name: ENNReal.log_one
code: @[simp] lemma log_one : log 1 = 0 
goal: ENNReal.log 1 = 0

full_name: ENNReal.log_top
code: @[simp] lemma log_top : log ⊤ = ⊤ 
goal: ⊤.log = ⊤

full_name: ENNReal.log_ofReal
code: @[simp]
lemma log_ofReal (x : ℝ) : log (ENNReal.ofReal x) = if x ≤ 0 then ⊥ else ↑(Real.log x) 
goal: (ENNReal.ofReal x).log = if x ≤ 0 then ⊥ else ↑(Real.log x)

full_name: ENNReal.log_ofReal_of_pos
code: lemma log_ofReal_of_pos {x : ℝ} (hx : 0 < x) : log (ENNReal.ofReal x) = Real.log x 
goal: (ENNReal.ofReal x).log = ↑(Real.log x)

full_name: ENNReal.log_pos_real
code: theorem log_pos_real {x : ℝ≥0∞} (h : x ≠ 0) (h' : x ≠ ⊤) :
    log x = Real.log (ENNReal.toReal x) 
goal: x.log = ↑(Real.log x.toReal)

full_name: ENNReal.log_pos_real'
code: theorem log_pos_real' {x : ℝ≥0∞} (h : 0 < x.toReal) :
    log x = Real.log (ENNReal.toReal x) 
goal: x.log = ↑(Real.log x.toReal)

full_name: ENNReal.log_of_nnreal
code: theorem log_of_nnreal {x : ℝ≥0} (h : x ≠ 0) :
    log (x : ℝ≥0∞) = Real.log x 
goal: (↑x).log = ↑(Real.log ↑x)

full_name: ENNReal.log_strictMono
code: theorem log_strictMono : StrictMono log 
goal: StrictMono ENNReal.log

full_name: ENNReal.log_monotone
code: theorem log_monotone : Monotone log 
goal: Monotone ENNReal.log

full_name: ENNReal.log_injective
code: theorem log_injective : Function.Injective log 
goal: Function.Injective ENNReal.log

full_name: ENNReal.log_surjective
code: theorem log_surjective : Function.Surjective log 
goal: Function.Surjective ENNReal.log

full_name: ENNReal.log_bijective
code: theorem log_bijective : Function.Bijective log 
goal: Function.Bijective ENNReal.log

full_name: ENNReal.log_eq_iff
code: @[simp]
theorem log_eq_iff {x y : ℝ≥0∞} : log x = log y ↔ x = y 
goal: x.log = y.log ↔ x = y

full_name: ENNReal.log_eq_bot_iff
code: @[simp] theorem log_eq_bot_iff {x : ℝ≥0∞} : log x = ⊥ ↔ x = 0 
goal: x.log = ⊥ ↔ x = 0

full_name: ENNReal.log_eq_one_iff
code: @[simp] theorem log_eq_one_iff {x : ℝ≥0∞} : log x = 0 ↔ x = 1 
goal: x.log = 0 ↔ x = 1

full_name: ENNReal.log_eq_top_iff
code: @[simp] theorem log_eq_top_iff {x : ℝ≥0∞} : log x = ⊤ ↔ x = ⊤ 
goal: x.log = ⊤ ↔ x = ⊤

full_name: ENNReal.log_lt_log_iff
code: @[simp] lemma log_lt_log_iff {x y : ℝ≥0∞} : log x < log y ↔ x < y 
goal: x.log < y.log ↔ x < y

full_name: ENNReal.bot_lt_log_iff
code: @[simp] lemma bot_lt_log_iff {x : ℝ≥0∞} : ⊥ < log x ↔ 0 < x 
goal: ⊥ < x.log ↔ 0 < x

full_name: ENNReal.log_lt_top_iff
code: @[simp] lemma log_lt_top_iff {x : ℝ≥0∞} : log x < ⊤ ↔ x < ⊤ 
goal: x.log < ⊤ ↔ x < ⊤

full_name: ENNReal.log_lt_zero_iff
code: @[simp] lemma log_lt_zero_iff {x : ℝ≥0∞} : log x < 0 ↔ x < 1 
goal: x.log < 0 ↔ x < 1

full_name: ENNReal.zero_lt_log_iff
code: @[simp] lemma zero_lt_log_iff {x : ℝ≥0∞} : 0 < log x ↔ 1 < x 
goal: 0 < x.log ↔ 1 < x

full_name: ENNReal.log_le_log_iff
code: @[simp] lemma log_le_log_iff {x y : ℝ≥0∞} : log x ≤ log y ↔ x ≤ y 
goal: x.log ≤ y.log ↔ x ≤ y

full_name: ENNReal.log_le_zero_iff
code: @[simp] lemma log_le_zero_iff {x : ℝ≥0∞} : log x ≤ 0 ↔ x ≤ 1 
goal: x.log ≤ 0 ↔ x ≤ 1

full_name: ENNReal.zero_le_log_iff
code: @[simp] lemma zero_le_log_iff {x : ℝ≥0∞} : 0 ≤ log x ↔ 1 ≤ x 
goal: 0 ≤ x.log ↔ 1 ≤ x

full_name: ENNReal.log_mul_add
code: theorem log_mul_add {x y : ℝ≥0∞} : log (x * y) = log x + log y 
goal: (x * y).log = x.log + y.log

full_name: ENNReal.log_pow
code: theorem log_pow {x : ℝ≥0∞} {n : ℕ} : log (x ^ n) = n * log x 
goal: (x ^ n).log = ↑n * x.log

full_name: ENNReal.log_rpow
code: theorem log_rpow {x : ℝ≥0∞} {y : ℝ} : log (x ^ y) = y * log x 
goal: (x ^ y).log = ↑y * x.log

full_name: ENNReal.log_inv
code: lemma log_inv {x : ℝ≥0∞} : log x⁻¹ = - log x 
goal: x⁻¹.log = -x.log