File: Mathlib/NumberTheory/VonMangoldt.lean

full_name: ArithmeticFunction.log
code: /-- `log` as an arithmetic function `ℕ → ℝ`. Note this is in the `ArithmeticFunction`
namespace to indicate that it is bundled as an `ArithmeticFunction` rather than being the usual
real logarithm. -/
noncomputable def log : ArithmeticFunction ℝ 
goal: ArithmeticFunction ℝ

full_name: ArithmeticFunction.log_apply
code: @[simp]
theorem log_apply {n : ℕ} : log n = Real.log n 
goal: ArithmeticFunction.log n = Real.log ↑n

full_name: ArithmeticFunction.vonMangoldt
code: /--
The `vonMangoldt` function is the function on natural numbers that returns `log p` if the input can
be expressed as `p^k` for a prime `p`.
In the case when `n` is a prime power, `min_fac` will give the appropriate prime, as it is the
smallest prime factor.

In the `ArithmeticFunction` locale, we have the notation `Λ` for this function.
This is also available in the `ArithmeticFunction.vonMangoldt` locale, allowing for selective
access to the notation.
-/
noncomputable def vonMangoldt : ArithmeticFunction ℝ 
goal: ArithmeticFunction ℝ

full_name: ArithmeticFunction._aux_Mathlib_NumberTheory_VonMangoldt___unexpand_ArithmeticFunction_vonMangoldt_1
code: @[inherit_doc] scoped[ArithmeticFunction] notation "Λ" => ArithmeticFunction.vonMangoldt
goal: Lean.PrettyPrinter.Unexpander

full_name: ArithmeticFunction._aux_Mathlib_NumberTheory_VonMangoldt___macroRules_ArithmeticFunction_termΛ_1
code: @[inherit_doc] scoped[ArithmeticFunction] notation "Λ" => ArithmeticFunction.vonMangoldt
goal: Lean.Macro

full_name: ArithmeticFunction.vonMangoldt._aux_Mathlib_NumberTheory_VonMangoldt___unexpand_ArithmeticFunction_vonMangoldt_1
code: @[inherit_doc] scoped[ArithmeticFunction.vonMangoldt] notation "Λ" =>
  ArithmeticFunction.vonMangoldt
goal: Lean.PrettyPrinter.Unexpander

full_name: ArithmeticFunction.vonMangoldt._aux_Mathlib_NumberTheory_VonMangoldt___macroRules_ArithmeticFunction_vonMangoldt_termΛ_1
code: @[inherit_doc] scoped[ArithmeticFunction.vonMangoldt] notation "Λ" =>
  ArithmeticFunction.vonMangoldt
goal: Lean.Macro

full_name: ArithmeticFunction.vonMangoldt_apply
code: theorem vonMangoldt_apply {n : ℕ} : Λ n = if IsPrimePow n then Real.log (minFac n) else 0 
goal: ArithmeticFunction.vonMangoldt n = if IsPrimePow n then Real.log ↑n.minFac else 0

full_name: ArithmeticFunction.vonMangoldt_apply_one
code: @[simp]
theorem vonMangoldt_apply_one : Λ 1 = 0 
goal: ArithmeticFunction.vonMangoldt 1 = 0

full_name: ArithmeticFunction.vonMangoldt_nonneg
code: @[simp]
theorem vonMangoldt_nonneg {n : ℕ} : 0 ≤ Λ n 
goal: 0 ≤ ArithmeticFunction.vonMangoldt n

full_name: ArithmeticFunction.vonMangoldt_apply_pow
code: theorem vonMangoldt_apply_pow {n k : ℕ} (hk : k ≠ 0) : Λ (n ^ k) = Λ n 
goal: ArithmeticFunction.vonMangoldt (n ^ k) = ArithmeticFunction.vonMangoldt n

full_name: ArithmeticFunction.vonMangoldt_apply_prime
code: theorem vonMangoldt_apply_prime {p : ℕ} (hp : p.Prime) : Λ p = Real.log p 
goal: ArithmeticFunction.vonMangoldt p = Real.log ↑p

full_name: ArithmeticFunction.vonMangoldt_ne_zero_iff
code: theorem vonMangoldt_ne_zero_iff {n : ℕ} : Λ n ≠ 0 ↔ IsPrimePow n 
goal: ArithmeticFunction.vonMangoldt n ≠ 0 ↔ IsPrimePow n

full_name: ArithmeticFunction.vonMangoldt_pos_iff
code: theorem vonMangoldt_pos_iff {n : ℕ} : 0 < Λ n ↔ IsPrimePow n 
goal: 0 < ArithmeticFunction.vonMangoldt n ↔ IsPrimePow n

full_name: ArithmeticFunction.vonMangoldt_eq_zero_iff
code: theorem vonMangoldt_eq_zero_iff {n : ℕ} : Λ n = 0 ↔ ¬IsPrimePow n 
goal: ArithmeticFunction.vonMangoldt n = 0 ↔ ¬IsPrimePow n

full_name: ArithmeticFunction.vonMangoldt_sum
code: theorem vonMangoldt_sum {n : ℕ} : ∑ i ∈ n.divisors, Λ i = Real.log n 
goal: ∑ i ∈ n.divisors, ArithmeticFunction.vonMangoldt i = Real.log ↑n

full_name: ArithmeticFunction.vonMangoldt_mul_zeta
code: @[simp]
theorem vonMangoldt_mul_zeta : Λ * ζ = log 
goal: ArithmeticFunction.vonMangoldt * ↑ArithmeticFunction.zeta = ArithmeticFunction.log

full_name: ArithmeticFunction.zeta_mul_vonMangoldt
code: @[simp]
theorem zeta_mul_vonMangoldt : (ζ : ArithmeticFunction ℝ) * Λ = log 
goal: ↑ArithmeticFunction.zeta * ArithmeticFunction.vonMangoldt = ArithmeticFunction.log

full_name: ArithmeticFunction.log_mul_moebius_eq_vonMangoldt
code: @[simp]
theorem log_mul_moebius_eq_vonMangoldt : log * μ = Λ 
goal: ArithmeticFunction.log * ↑ArithmeticFunction.moebius = ArithmeticFunction.vonMangoldt

full_name: ArithmeticFunction.moebius_mul_log_eq_vonMangoldt
code: @[simp]
theorem moebius_mul_log_eq_vonMangoldt : (μ : ArithmeticFunction ℝ) * log = Λ 
goal: ↑ArithmeticFunction.moebius * ArithmeticFunction.log = ArithmeticFunction.vonMangoldt

full_name: ArithmeticFunction.sum_moebius_mul_log_eq
code: theorem sum_moebius_mul_log_eq {n : ℕ} : (∑ d ∈ n.divisors, (μ d : ℝ) * log d) = -Λ n 
goal: ∑ d ∈ n.divisors, ↑(ArithmeticFunction.moebius d) * ArithmeticFunction.log d = -ArithmeticFunction.vonMangoldt n

full_name: ArithmeticFunction.vonMangoldt_le_log
code: theorem vonMangoldt_le_log : ∀ {n : ℕ}, Λ n ≤ Real.log (n : ℝ)
  
goal: ArithmeticFunction.vonMangoldt n ≤ Real.log ↑n