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

full_name: Real.continuous_mul_log
code: lemma continuous_mul_log : Continuous fun x ↦ x * log x 
goal: Continuous fun x => x * Real.log x

full_name: Real.differentiableOn_mul_log
code: lemma differentiableOn_mul_log : DifferentiableOn ℝ (fun x ↦ x * log x) {0}ᶜ 
goal: DifferentiableOn ℝ (fun x => x * Real.log x) {0}ᶜ

full_name: Real.deriv_mul_log
code: lemma deriv_mul_log {x : ℝ} (hx : x ≠ 0) : deriv (fun x ↦ x * log x) x = log x + 1 
goal: deriv (fun x => x * Real.log x) x = Real.log x + 1

full_name: Real.hasDerivAt_mul_log
code: lemma hasDerivAt_mul_log {x : ℝ} (hx : x ≠ 0) : HasDerivAt (fun x ↦ x * log x) (log x + 1) x 
goal: HasDerivAt (fun x => x * Real.log x) (Real.log x + 1) x

full_name: Real.deriv2_mul_log
code: lemma deriv2_mul_log {x : ℝ} (hx : x ≠ 0) : deriv^[2] (fun x ↦ x * log x) x = x⁻¹ 
goal: deriv^[2] (fun x => x * Real.log x) x = x⁻¹

full_name: Real.strictConvexOn_mul_log
code: lemma strictConvexOn_mul_log : StrictConvexOn ℝ (Set.Ici (0 : ℝ)) (fun x ↦ x * log x) 
goal: StrictConvexOn ℝ (Set.Ici 0) fun x => x * Real.log x

full_name: Real.convexOn_mul_log
code: lemma convexOn_mul_log : ConvexOn ℝ (Set.Ici (0 : ℝ)) (fun x ↦ x * log x) 
goal: ConvexOn ℝ (Set.Ici 0) fun x => x * Real.log x

full_name: Real.mul_log_nonneg
code: lemma mul_log_nonneg {x : ℝ} (hx : 1 ≤ x) : 0 ≤ x * log x 
goal: 0 ≤ x * Real.log x

full_name: Real.mul_log_nonpos
code: lemma mul_log_nonpos {x : ℝ} (hx₀ : 0 ≤ x) (hx₁ : x ≤ 1) : x * log x ≤ 0 
goal: x * Real.log x ≤ 0

full_name: Real.negMulLog
code: /-- The function `x ↦ - x * log x` from `ℝ` to `ℝ`. -/
noncomputable def negMulLog (x : ℝ) : ℝ 
goal: ℝ

full_name: Real.negMulLog_def
code: lemma negMulLog_def : negMulLog = fun x ↦ - x * log x 
goal: Real.negMulLog = fun x => -x * Real.log x

full_name: Real.negMulLog_eq_neg
code: lemma negMulLog_eq_neg : negMulLog = fun x ↦ - (x * log x) 
goal: Real.negMulLog = fun x => -(x * Real.log x)

full_name: Real.negMulLog_zero
code: @[simp] lemma negMulLog_zero : negMulLog (0 : ℝ) = 0 
goal: Real.negMulLog 0 = 0

full_name: Real.negMulLog_one
code: @[simp] lemma negMulLog_one : negMulLog (1 : ℝ) = 0 
goal: Real.negMulLog 1 = 0

full_name: Real.negMulLog_nonneg
code: lemma negMulLog_nonneg {x : ℝ} (h1 : 0 ≤ x) (h2 : x ≤ 1) : 0 ≤ negMulLog x 
goal: 0 ≤ x.negMulLog

full_name: Real.negMulLog_mul
code: lemma negMulLog_mul (x y : ℝ) : negMulLog (x * y) = y * negMulLog x + x * negMulLog y 
goal: (x * y).negMulLog = y * x.negMulLog + x * y.negMulLog

full_name: Real.continuous_negMulLog
code: lemma continuous_negMulLog : Continuous negMulLog 
goal: Continuous Real.negMulLog

full_name: Real.differentiableOn_negMulLog
code: lemma differentiableOn_negMulLog : DifferentiableOn ℝ negMulLog {0}ᶜ 
goal: DifferentiableOn ℝ Real.negMulLog {0}ᶜ

full_name: Real.deriv_negMulLog
code: lemma deriv_negMulLog {x : ℝ} (hx : x ≠ 0) : deriv negMulLog x = - log x - 1 
goal: deriv Real.negMulLog x = -Real.log x - 1

full_name: Real.hasDerivAt_negMulLog
code: lemma hasDerivAt_negMulLog {x : ℝ} (hx : x ≠ 0) : HasDerivAt negMulLog (- log x - 1) x 
goal: HasDerivAt Real.negMulLog (-Real.log x - 1) x

full_name: Real.deriv2_negMulLog
code: lemma deriv2_negMulLog {x : ℝ} (hx : x ≠ 0) : deriv^[2] negMulLog x = - x⁻¹ 
goal: deriv^[2] Real.negMulLog x = -x⁻¹

full_name: Real.strictConcaveOn_negMulLog
code: lemma strictConcaveOn_negMulLog : StrictConcaveOn ℝ (Set.Ici (0 : ℝ)) negMulLog 
goal: StrictConcaveOn ℝ (Set.Ici 0) Real.negMulLog

full_name: Real.concaveOn_negMulLog
code: lemma concaveOn_negMulLog : ConcaveOn ℝ (Set.Ici (0 : ℝ)) negMulLog 
goal: ConcaveOn ℝ (Set.Ici 0) Real.negMulLog