/-
Copyright 2026 The Formal Conjectures Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-/
import FormalConjecturesUtilDenominators of coefficients in Stirling's expansion for $\log(\Gamma(z))$
The $n$-th term is the denominator of $\frac{B_{2n}}{2n(2n-1)}$ where $B_{2n}$ is the $2n$-th Bernoulli number.
References:
namespace OeisA46969Denominators of coefficients in Stirling's expansion for $\log(\Gamma(z))$.
def a (n : ℕ) : ℕ :=
if n = 0 then 0
else
let m := 2 * n
let k := m * (m - 1)
(bernoulli m / (k : ℚ)).den@[category test, AMS 11]
theorem a_0 : a 0 = 0 := ⊢ a 0 = 0 All goals completed! 🐙⊢ (6⁻¹ / 2).den = 12
norm_num All goals completed! 🐙
@[category test, AMS 11]
theorem a_2 : a 2 = 360 := by ⊢ a 2 = 360
dsimp [a] ⊢ (bernoulli 4 / 12).den = 360
rw [bernoulli_eq_bernoulli'_of_ne_one (by ⊢ 4 ≠ 1 ⊢ (-1 / 30 / 12).den = 360 decide All goals completed! 🐙 ⊢ (-1 / 30 / 12).den = 360), bernoulli'_four ⊢ (-1 / 30 / 12).den = 360 ⊢ (-1 / 30 / 12).den = 360] ⊢ (-1 / 30 / 12).den = 360
norm_num All goals completed! 🐙
@[category API, AMS 11]
lemma bernoulli'_six : bernoulli' 6 = 1 / 42 := by ⊢ bernoulli' 6 = 1 / 42
have hchoose2 : Nat.choose 6 2 = 15 := by decide hchoose2:Nat.choose 6 2 = 15⊢ bernoulli' 6 = 1 / 42 hchoose2:Nat.choose 6 2 = 15⊢ bernoulli' 6 = 1 / 42
have hchoose3 : Nat.choose 6 3 = 20 := by decide hchoose2:Nat.choose 6 2 = 15hchoose3:Nat.choose 6 3 = 20⊢ bernoulli' 6 = 1 / 42 hchoose2:Nat.choose 6 2 = 15hchoose3:Nat.choose 6 3 = 20⊢ bernoulli' 6 = 1 / 42
have hchoose4 : Nat.choose 6 4 = 15 := by decide hchoose2:Nat.choose 6 2 = 15hchoose3:Nat.choose 6 3 = 20hchoose4:Nat.choose 6 4 = 15⊢ bernoulli' 6 = 1 / 42 hchoose2:Nat.choose 6 2 = 15hchoose3:Nat.choose 6 3 = 20hchoose4:Nat.choose 6 4 = 15⊢ bernoulli' 6 = 1 / 42
have h5 : bernoulli' 5 = 0 := bernoulli'_eq_zero_of_odd (by hchoose2:Nat.choose 6 2 = 15hchoose3:Nat.choose 6 3 = 20hchoose4:Nat.choose 6 4 = 15⊢ Odd 5 hchoose2:Nat.choose 6 2 = 15hchoose3:Nat.choose 6 3 = 20hchoose4:Nat.choose 6 4 = 15h5:bernoulli' 5 = 0⊢ bernoulli' 6 = 1 / 42 decide All goals completed! 🐙 hchoose2:Nat.choose 6 2 = 15hchoose3:Nat.choose 6 3 = 20hchoose4:Nat.choose 6 4 = 15h5:bernoulli' 5 = 0⊢ bernoulli' 6 = 1 / 42) (by hchoose2:Nat.choose 6 2 = 15hchoose3:Nat.choose 6 3 = 20hchoose4:Nat.choose 6 4 = 15⊢ 1 < 5 hchoose2:Nat.choose 6 2 = 15hchoose3:Nat.choose 6 3 = 20hchoose4:Nat.choose 6 4 = 15h5:bernoulli' 5 = 0⊢ bernoulli' 6 = 1 / 42 decide All goals completed! 🐙 hchoose2:Nat.choose 6 2 = 15hchoose3:Nat.choose 6 3 = 20hchoose4:Nat.choose 6 4 = 15h5:bernoulli' 5 = 0⊢ bernoulli' 6 = 1 / 42) hchoose2:Nat.choose 6 2 = 15hchoose3:Nat.choose 6 3 = 20hchoose4:Nat.choose 6 4 = 15h5:bernoulli' 5 = 0⊢ bernoulli' 6 = 1 / 42
rw [bernoulli'_def hchoose2:Nat.choose 6 2 = 15hchoose3:Nat.choose 6 3 = 20hchoose4:Nat.choose 6 4 = 15h5:bernoulli' 5 = 0⊢ 1 - ∑ k ∈ Finset.range 6, ↑(Nat.choose 6 k) / (↑6 - ↑k + 1) * bernoulli' k = 1 / 42 hchoose2:Nat.choose 6 2 = 15hchoose3:Nat.choose 6 3 = 20hchoose4:Nat.choose 6 4 = 15h5:bernoulli' 5 = 0⊢ 1 - ∑ k ∈ Finset.range 6, ↑(Nat.choose 6 k) / (↑6 - ↑k + 1) * bernoulli' k = 1 / 42] hchoose2:Nat.choose 6 2 = 15hchoose3:Nat.choose 6 3 = 20hchoose4:Nat.choose 6 4 = 15h5:bernoulli' 5 = 0⊢ 1 - ∑ k ∈ Finset.range 6, ↑(Nat.choose 6 k) / (↑6 - ↑k + 1) * bernoulli' k = 1 / 42
norm_num [Finset.sum_range_succ, Finset.sum_range_zero, bernoulli'_two, bernoulli'_three,
bernoulli'_four, h5, hchoose2, hchoose3, hchoose4] All goals completed! 🐙
@[category test, AMS 11]
theorem a_3 : a 3 = 1260 := by ⊢ a 3 = 1260
dsimp [a] ⊢ (bernoulli 6 / 30).den = 1260
rw [bernoulli_eq_bernoulli'_of_ne_one (by ⊢ 6 ≠ 1 ⊢ (1 / 42 / 30).den = 1260 decide All goals completed! 🐙 ⊢ (1 / 42 / 30).den = 1260), bernoulli'_six ⊢ (1 / 42 / 30).den = 1260 ⊢ (1 / 42 / 30).den = 1260] ⊢ (1 / 42 / 30).den = 1260
norm_num All goals completed! 🐙
@[category API, AMS 11]
lemma bernoulli'_eight : bernoulli' 8 = -1 / 30 := by ⊢ bernoulli' 8 = -1 / 30
have hchoose2 : Nat.choose 8 2 = 28 := by decide hchoose2:Nat.choose 8 2 = 28⊢ bernoulli' 8 = -1 / 30 hchoose2:Nat.choose 8 2 = 28⊢ bernoulli' 8 = -1 / 30
have hchoose3 : Nat.choose 8 3 = 56 := by decide hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56⊢ bernoulli' 8 = -1 / 30 hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56⊢ bernoulli' 8 = -1 / 30
have hchoose4 : Nat.choose 8 4 = 70 := by decide hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70⊢ bernoulli' 8 = -1 / 30 hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70⊢ bernoulli' 8 = -1 / 30
have hchoose5 : Nat.choose 8 5 = 56 := by decide hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56⊢ bernoulli' 8 = -1 / 30 hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56⊢ bernoulli' 8 = -1 / 30
have hchoose6 : Nat.choose 8 6 = 28 := by decide hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28⊢ bernoulli' 8 = -1 / 30 hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28⊢ bernoulli' 8 = -1 / 30
have h3 : bernoulli' 3 = 0 := bernoulli'_three hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0⊢ bernoulli' 8 = -1 / 30
have h5 : bernoulli' 5 = 0 := bernoulli'_eq_zero_of_odd (by hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0⊢ Odd 5 hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0⊢ bernoulli' 8 = -1 / 30 decide All goals completed! 🐙 hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0⊢ bernoulli' 8 = -1 / 30) (by hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0⊢ 1 < 5 hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0⊢ bernoulli' 8 = -1 / 30 decide All goals completed! 🐙 hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0⊢ bernoulli' 8 = -1 / 30) hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0⊢ bernoulli' 8 = -1 / 30
have h7 : bernoulli' 7 = 0 := bernoulli'_eq_zero_of_odd (by hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0⊢ Odd 7 hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0⊢ bernoulli' 8 = -1 / 30 decide All goals completed! 🐙 hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0⊢ bernoulli' 8 = -1 / 30) (by hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0⊢ 1 < 7 hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0⊢ bernoulli' 8 = -1 / 30 decide All goals completed! 🐙 hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0⊢ bernoulli' 8 = -1 / 30) hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0⊢ bernoulli' 8 = -1 / 30
rw [bernoulli'_def hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0⊢ 1 - ∑ k ∈ Finset.range 8, ↑(Nat.choose 8 k) / (↑8 - ↑k + 1) * bernoulli' k = -1 / 30 hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0⊢ 1 - ∑ k ∈ Finset.range 8, ↑(Nat.choose 8 k) / (↑8 - ↑k + 1) * bernoulli' k = -1 / 30] hchoose2:Nat.choose 8 2 = 28hchoose3:Nat.choose 8 3 = 56hchoose4:Nat.choose 8 4 = 70hchoose5:Nat.choose 8 5 = 56hchoose6:Nat.choose 8 6 = 28h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0⊢ 1 - ∑ k ∈ Finset.range 8, ↑(Nat.choose 8 k) / (↑8 - ↑k + 1) * bernoulli' k = -1 / 30
norm_num [Finset.sum_range_succ, Finset.sum_range_zero, bernoulli'_two, h3,
bernoulli'_four, h5, bernoulli'_six, h7,
hchoose2, hchoose3, hchoose4, hchoose5, hchoose6] All goals completed! 🐙
@[category test, AMS 11]
theorem a_4 : a 4 = 1680 := by ⊢ a 4 = 1680
dsimp [a] ⊢ (bernoulli 8 / 56).den = 1680
rw [bernoulli_eq_bernoulli'_of_ne_one (by ⊢ 8 ≠ 1 ⊢ (-1 / 30 / 56).den = 1680 decide All goals completed! 🐙 ⊢ (-1 / 30 / 56).den = 1680), bernoulli'_eight ⊢ (-1 / 30 / 56).den = 1680 ⊢ (-1 / 30 / 56).den = 1680] ⊢ (-1 / 30 / 56).den = 1680
norm_num All goals completed! 🐙
@[category API, AMS 11]
lemma bernoulli'_ten : bernoulli' 10 = 5 / 66 := by ⊢ bernoulli' 10 = 5 / 66
have hchoose2 : Nat.choose 10 2 = 45 := by decide hchoose2:Nat.choose 10 2 = 45⊢ bernoulli' 10 = 5 / 66 hchoose2:Nat.choose 10 2 = 45⊢ bernoulli' 10 = 5 / 66
have hchoose3 : Nat.choose 10 3 = 120 := by decide hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120⊢ bernoulli' 10 = 5 / 66 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120⊢ bernoulli' 10 = 5 / 66
have hchoose4 : Nat.choose 10 4 = 210 := by decide hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210⊢ bernoulli' 10 = 5 / 66 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210⊢ bernoulli' 10 = 5 / 66
have hchoose5 : Nat.choose 10 5 = 252 := by decide hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252⊢ bernoulli' 10 = 5 / 66 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252⊢ bernoulli' 10 = 5 / 66
have hchoose6 : Nat.choose 10 6 = 210 := by decide hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210⊢ bernoulli' 10 = 5 / 66 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210⊢ bernoulli' 10 = 5 / 66
have hchoose7 : Nat.choose 10 7 = 120 := by decide hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120⊢ bernoulli' 10 = 5 / 66 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120⊢ bernoulli' 10 = 5 / 66
have hchoose8 : Nat.choose 10 8 = 45 := by decide hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45⊢ bernoulli' 10 = 5 / 66 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45⊢ bernoulli' 10 = 5 / 66
have h3 : bernoulli' 3 = 0 := bernoulli'_three hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0⊢ bernoulli' 10 = 5 / 66
have h5 : bernoulli' 5 = 0 := bernoulli'_eq_zero_of_odd (by hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0⊢ Odd 5 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0⊢ bernoulli' 10 = 5 / 66 decide All goals completed! 🐙 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0⊢ bernoulli' 10 = 5 / 66) (by hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0⊢ 1 < 5 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0⊢ bernoulli' 10 = 5 / 66 decide All goals completed! 🐙 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0⊢ bernoulli' 10 = 5 / 66) hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0⊢ bernoulli' 10 = 5 / 66
have h7 : bernoulli' 7 = 0 := bernoulli'_eq_zero_of_odd (by hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0⊢ Odd 7 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0⊢ bernoulli' 10 = 5 / 66 decide All goals completed! 🐙 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0⊢ bernoulli' 10 = 5 / 66) (by hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0⊢ 1 < 7 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0⊢ bernoulli' 10 = 5 / 66 decide All goals completed! 🐙 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0⊢ bernoulli' 10 = 5 / 66) hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0⊢ bernoulli' 10 = 5 / 66
have h9 : bernoulli' 9 = 0 := bernoulli'_eq_zero_of_odd (by hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0⊢ Odd 9 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0h9:bernoulli' 9 = 0⊢ bernoulli' 10 = 5 / 66 decide All goals completed! 🐙 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0h9:bernoulli' 9 = 0⊢ bernoulli' 10 = 5 / 66) (by hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0⊢ 1 < 9 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0h9:bernoulli' 9 = 0⊢ bernoulli' 10 = 5 / 66 decide All goals completed! 🐙 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0h9:bernoulli' 9 = 0⊢ bernoulli' 10 = 5 / 66) hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0h9:bernoulli' 9 = 0⊢ bernoulli' 10 = 5 / 66
rw [bernoulli'_def hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0h9:bernoulli' 9 = 0⊢ 1 - ∑ k ∈ Finset.range 10, ↑(Nat.choose 10 k) / (↑10 - ↑k + 1) * bernoulli' k = 5 / 66 hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0h9:bernoulli' 9 = 0⊢ 1 - ∑ k ∈ Finset.range 10, ↑(Nat.choose 10 k) / (↑10 - ↑k + 1) * bernoulli' k = 5 / 66] hchoose2:Nat.choose 10 2 = 45hchoose3:Nat.choose 10 3 = 120hchoose4:Nat.choose 10 4 = 210hchoose5:Nat.choose 10 5 = 252hchoose6:Nat.choose 10 6 = 210hchoose7:Nat.choose 10 7 = 120hchoose8:Nat.choose 10 8 = 45h3:bernoulli' 3 = 0h5:bernoulli' 5 = 0h7:bernoulli' 7 = 0h9:bernoulli' 9 = 0⊢ 1 - ∑ k ∈ Finset.range 10, ↑(Nat.choose 10 k) / (↑10 - ↑k + 1) * bernoulli' k = 5 / 66
norm_num [Finset.sum_range_succ, Finset.sum_range_zero, bernoulli'_two, h3,
bernoulli'_four, h5, bernoulli'_six, h7, bernoulli'_eight, h9,
hchoose2, hchoose3, hchoose4, hchoose5, hchoose6, hchoose7, hchoose8] All goals completed! 🐙
@[category test, AMS 11]
theorem a_5 : a 5 = 1188 := by ⊢ a 5 = 1188
dsimp [a] ⊢ (bernoulli 10 / 90).den = 1188
rw [bernoulli_eq_bernoulli'_of_ne_one (by ⊢ 10 ≠ 1 ⊢ (5 / 66 / 90).den = 1188 decide All goals completed! 🐙 ⊢ (5 / 66 / 90).den = 1188), bernoulli'_ten ⊢ (5 / 66 / 90).den = 1188 ⊢ (5 / 66 / 90).den = 1188] ⊢ (5 / 66 / 90).den = 1188
norm_num All goals completed! 🐙$A005382(n)$ is the $n$-th prime $p$ such that $2p-1$ is also prime (1-based).
noncomputable def a005382 (n : ℕ) : ℕ :=
Nat.nth (fun p ↦ p.Prime ∧ (2 * p - 1).Prime) (n - 1)Conjecture I: if $n > 2$, then $\frac{a(\text{A005382}(n))}{12}$ is prime, where A005382 is the sequence of primes $p$ such that $2p-1$ is also prime.
Lorenzo Sauras Altuzarra, Oct 13 2020
@[category research open, AMS 11]
theorem conjecture1 (n : ℕ) (hn : 2 < n) : (a (a005382 n) / 12).Prime := by n:ℕhn:2 < n⊢ Nat.Prime (a (a005382 n) / 12)
sorry All goals completed! 🐙Conjecture II: if $\frac{a(n)}{12}$ is prime, then $\frac{a(n-1)}{12} - (n-1)$, $\frac{a(n)}{12} - n$ and $\frac{a(n+2)}{12} - (n+2)$ are multiples of 6.
Lorenzo Sauras Altuzarra, Oct 13 2020
@[category research open, AMS 11]
theorem conjecture2 (n : ℕ) (hn : 2 ≤ n)
(h_div : 12 ∣ a n) (h_prime : Nat.Prime (a n / 12))
(h_div_prev : 12 ∣ a (n - 1)) (h_div_succ : 12 ∣ a (n + 2)) :
6 ∣ ((a (n - 1) / 12 : ℤ) - (n - 1 : ℤ)) ∧
6 ∣ ((a n / 12 : ℤ) - (n : ℤ)) ∧
6 ∣ ((a (n + 2) / 12 : ℤ) - (n + 2 : ℤ)) := by n:ℕhn:2 ≤ nh_div:12 ∣ a nh_prime:Nat.Prime (a n / 12)h_div_prev:12 ∣ a (n - 1)h_div_succ:12 ∣ a (n + 2)⊢ 6 ∣ ↑(a (n - 1)) / 12 - (↑n - 1) ∧ 6 ∣ ↑(a n) / 12 - ↑n ∧ 6 ∣ ↑(a (n + 2)) / 12 - (↑n + 2)
sorry All goals completed! 🐙end OeisA46969