/-
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.
-/
module
public import FormalConjecturesUtilErdős Problem 346
References:
[Gr64d] Graham, R. L., A property of Fibonacci numbers. Fibonacci Quart. (1964), 1-10.
[ErGr80] Erdős, P. and Graham, R., Old and new problems and results in combinatorial number theory. Monographies de L'Enseignement Mathematique (1980).
@[expose] public sectionopen Filter Topology Setnamespace Erdos346
Is it true that for every lacunary, strongly complete sequence A that is not complete whenever
infinitely many terms are removed from it, lim A (n + 1) / A n = (1 + √5) / 2?
The answer is no. A counterexample recorded at [erdosproblems.com/346] has all successive ratios
at least 6 / 5, but has subsequences of successive ratios tending to two different limits,
(1 + √5) / 2 and (1 + √5) / 2 + 1 / 4.
@[category research solved, AMS 11]
theorem erdos_346 : answer(False) ↔ ∀ {A : ℕ → ℕ}, IsLacunary A → IsAddStronglyCompleteNatSeq A →
(∀ B : Set ℕ, B ⊆ range A → B.Infinite → ¬ IsAddComplete (range A \ B)) →
Tendsto (fun n => A (n + 1) / (A n : ℝ)) atTop (𝓝 ((1 + √5) / 2)) := ⊢ False ↔
∀ {A : ℕ → ℕ},
IsLacunary A →
IsAddStronglyCompleteNatSeq A →
(∀ B ⊆ range A, B.Infinite → ¬IsAddComplete (range A \ B)) →
Tendsto (fun n ↦ ↑(A (n + 1)) / ↑(A n)) atTop (𝓝 ((1 + √5) / 2))
All goals completed! 🐙
We define a sequence f by the formula f n = n.fib - (- 1) ^ n.
def f (n : ℕ) : ℕ := if Even n then n.fib - 1 else n.fib + 1
The sequence f is lacunary.
neg k:ℕhk:9 ≤ khfib_strict:3 * Nat.fib k + 5 < 2 * Nat.fib (k + 1)hfib_R:3 * ↑(Nat.fib k) + 5 < 2 * ↑(Nat.fib (k + 1))hpos:1 ≤ Nat.fib khpos1:1 ≤ Nat.fib (k + 1)heven:¬Even khodd_plus:Even (k + 1)⊢ 3 / 2 * ↑(Nat.fib k + 1) < ↑(Nat.fib (k + 1) - 1)
push_cast [Nat.cast_sub hpos1] neg k:ℕhk:9 ≤ khfib_strict:3 * Nat.fib k + 5 < 2 * Nat.fib (k + 1)hfib_R:3 * ↑(Nat.fib k) + 5 < 2 * ↑(Nat.fib (k + 1))hpos:1 ≤ Nat.fib khpos1:1 ≤ Nat.fib (k + 1)heven:¬Even khodd_plus:Even (k + 1)⊢ 3 / 2 * (↑(Nat.fib k) + 1) < ↑(Nat.fib (k + 1)) - 1
linarith All goals completed! 🐙
The sequence f is strongly complete, and this is proved in [Gr64d].
@[category research solved, AMS 11]
theorem erdos_346.variants.f_isAddStronglyCompleteNatSeq : IsAddStronglyCompleteNatSeq f := by ⊢ IsAddStronglyCompleteNatSeq f
sorry All goals completed! 🐙
The recurrence f (m + 2) = f (m + 1) + f m - (-1) ^ m for m ≥ 1, written without
subtraction.
@[category API, AMS 11]
theorem erdos_346.variants.f_add_two (m : ℕ) (hm : 1 ≤ m) :
f (m + 2) + (if Even m then 1 else 0) = f (m + 1) + f m + (if Even m then 0 else 1) := by m:ℕhm:1 ≤ m⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1
have h1 : 1 ≤ Nat.fib m := Nat.fib_pos.2 hm m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib m⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1
have h2 : 1 ≤ Nat.fib (m + 1) := Nat.fib_pos.2 (by m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib m⊢ 0 < m + 1 m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1 omega All goals completed! 🐙 m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1) m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1
have h3 : Nat.fib (m + 2) = Nat.fib m + Nat.fib (m + 1) := Nat.fib_add_two m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)h3:Nat.fib (m + 2) = Nat.fib m + Nat.fib (m + 1)⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1
by_cases he : Even m pos m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)h3:Nat.fib (m + 2) = Nat.fib m + Nat.fib (m + 1)he:Even m⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1neg m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)h3:Nat.fib (m + 2) = Nat.fib m + Nat.fib (m + 1)he:¬Even m⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1
· pos m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)h3:Nat.fib (m + 2) = Nat.fib m + Nat.fib (m + 1)he:Even m⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1 have he1 : ¬ Even (m + 1) := by simp [Nat.even_add_one, he] pos m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)h3:Nat.fib (m + 2) = Nat.fib m + Nat.fib (m + 1)he:Even mhe1:¬Even (m + 1)⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1pos m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)h3:Nat.fib (m + 2) = Nat.fib m + Nat.fib (m + 1)he:Even mhe1:¬Even (m + 1)⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1
have he2 : Even (m + 2) := by simp [Nat.even_add, he] pos m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)h3:Nat.fib (m + 2) = Nat.fib m + Nat.fib (m + 1)he:Even mhe1:¬Even (m + 1)he2:Even (m + 2)⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1pos m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)h3:Nat.fib (m + 2) = Nat.fib m + Nat.fib (m + 1)he:Even mhe1:¬Even (m + 1)he2:Even (m + 2)⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1
simp only [f, if_pos he, if_neg he1, if_pos he2] pos m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)h3:Nat.fib (m + 2) = Nat.fib m + Nat.fib (m + 1)he:Even mhe1:¬Even (m + 1)he2:Even (m + 2)⊢ Nat.fib (m + 2) - 1 + 1 = Nat.fib (m + 1) + 1 + (Nat.fib m - 1) + 0
omega All goals completed! 🐙
· neg m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)h3:Nat.fib (m + 2) = Nat.fib m + Nat.fib (m + 1)he:¬Even m⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1 have he1 : Even (m + 1) := by simp [Nat.even_add_one, he] neg m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)h3:Nat.fib (m + 2) = Nat.fib m + Nat.fib (m + 1)he:¬Even mhe1:Even (m + 1)⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1neg m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)h3:Nat.fib (m + 2) = Nat.fib m + Nat.fib (m + 1)he:¬Even mhe1:Even (m + 1)⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1
have he2 : ¬ Even (m + 2) := by simp [Nat.even_add, he] neg m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)h3:Nat.fib (m + 2) = Nat.fib m + Nat.fib (m + 1)he:¬Even mhe1:Even (m + 1)he2:¬Even (m + 2)⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1neg m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)h3:Nat.fib (m + 2) = Nat.fib m + Nat.fib (m + 1)he:¬Even mhe1:Even (m + 1)he2:¬Even (m + 2)⊢ (f (m + 2) + if Even m then 1 else 0) = f (m + 1) + f m + if Even m then 0 else 1
simp only [f, if_neg he, if_pos he1, if_neg he2] neg m:ℕhm:1 ≤ mh1:1 ≤ Nat.fib mh2:1 ≤ Nat.fib (m + 1)h3:Nat.fib (m + 2) = Nat.fib m + Nat.fib (m + 1)he:¬Even mhe1:Even (m + 1)he2:¬Even (m + 2)⊢ Nat.fib (m + 2) + 1 + 0 = Nat.fib (m + 1) - 1 + (Nat.fib m + 1) + 1
omega All goals completed! 🐙
f 0 + ⋯ + f (m - 1) = f (m + 1) - [m even] for m ≥ 1; this is [Gr64d, Eq. (1)].
@[category API, AMS 11]
theorem erdos_346.variants.sum_range_f (m : ℕ) (hm : 1 ≤ m) :
∑ i ∈ Finset.range m, f i + (if Even m then 1 else 0) = f (m + 1) := by m:ℕhm:1 ≤ m⊢ (∑ i ∈ Finset.range m, f i + if Even m then 1 else 0) = f (m + 1)
induction m with
| zero => zero hm:1 ≤ 0⊢ (∑ i ∈ Finset.range 0, f i + if Even 0 then 1 else 0) = f (0 + 1) omega All goals completed! 🐙
| succ k ih => succ k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1⊢ (∑ i ∈ Finset.range (k + 1), f i + if Even (k + 1) then 1 else 0) = f (k + 1 + 1)
rcases Nat.eq_zero_or_pos k with rfl | hk succ.inl ih:1 ≤ 0 → (∑ i ∈ Finset.range 0, f i + if Even 0 then 1 else 0) = f (0 + 1)hm:1 ≤ 0 + 1⊢ (∑ i ∈ Finset.range (0 + 1), f i + if Even (0 + 1) then 1 else 0) = f (0 + 1 + 1)succ.inr k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0⊢ (∑ i ∈ Finset.range (k + 1), f i + if Even (k + 1) then 1 else 0) = f (k + 1 + 1)
· succ.inl ih:1 ≤ 0 → (∑ i ∈ Finset.range 0, f i + if Even 0 then 1 else 0) = f (0 + 1)hm:1 ≤ 0 + 1⊢ (∑ i ∈ Finset.range (0 + 1), f i + if Even (0 + 1) then 1 else 0) = f (0 + 1 + 1) decide All goals completed! 🐙
· succ.inr k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0⊢ (∑ i ∈ Finset.range (k + 1), f i + if Even (k + 1) then 1 else 0) = f (k + 1 + 1) have h1 := ih hk succ.inr k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)⊢ (∑ i ∈ Finset.range (k + 1), f i + if Even (k + 1) then 1 else 0) = f (k + 1 + 1)
have h2 : f (k + 1 + 1) + (if Even k then 1 else 0) =
f (k + 1) + f k + (if Even k then 0 else 1) := erdos_346.variants.f_add_two k hk succ.inr k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1⊢ (∑ i ∈ Finset.range (k + 1), f i + if Even (k + 1) then 1 else 0) = f (k + 1 + 1)
have hpar : (if Even (k + 1) then 1 else 0) + (if Even k then 1 else 0) = 1 := by m:ℕhm:1 ≤ m⊢ (∑ i ∈ Finset.range m, f i + if Even m then 1 else 0) = f (m + 1) succ.inr k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1hpar:((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1⊢ (∑ i ∈ Finset.range (k + 1), f i + if Even (k + 1) then 1 else 0) = f (k + 1 + 1)
by_cases he : Even k pos k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1he:Even k⊢ ((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1neg k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1he:¬Even k⊢ ((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1 succ.inr k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1hpar:((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1⊢ (∑ i ∈ Finset.range (k + 1), f i + if Even (k + 1) then 1 else 0) = f (k + 1 + 1) <;> pos k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1he:Even k⊢ ((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1neg k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1he:¬Even k⊢ ((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1succ.inr k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1hpar:((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1⊢ (∑ i ∈ Finset.range (k + 1), f i + if Even (k + 1) then 1 else 0) = f (k + 1 + 1) simp [Nat.even_add_one, he]succ.inr k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1hpar:((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1⊢ (∑ i ∈ Finset.range (k + 1), f i + if Even (k + 1) then 1 else 0) = f (k + 1 + 1)succ.inr k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1hpar:((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1⊢ (∑ i ∈ Finset.range (k + 1), f i + if Even (k + 1) then 1 else 0) = f (k + 1 + 1)
have hpar' : (if Even k then 1 else 0) + (if Even k then 0 else 1) = 1 := by m:ℕhm:1 ≤ m⊢ (∑ i ∈ Finset.range m, f i + if Even m then 1 else 0) = f (m + 1) succ.inr k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1hpar:((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1hpar':((if Even k then 1 else 0) + if Even k then 0 else 1) = 1⊢ (∑ i ∈ Finset.range (k + 1), f i + if Even (k + 1) then 1 else 0) = f (k + 1 + 1)
split_ifs pos k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1hpar:((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1h✝:Even k⊢ 1 + 0 = 1neg k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1hpar:((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1h✝:¬Even k⊢ 0 + 1 = 1succ.inr k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1hpar:((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1hpar':((if Even k then 1 else 0) + if Even k then 0 else 1) = 1⊢ (∑ i ∈ Finset.range (k + 1), f i + if Even (k + 1) then 1 else 0) = f (k + 1 + 1) <;> pos k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1hpar:((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1h✝:Even k⊢ 1 + 0 = 1neg k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1hpar:((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1h✝:¬Even k⊢ 0 + 1 = 1succ.inr k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1hpar:((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1hpar':((if Even k then 1 else 0) + if Even k then 0 else 1) = 1⊢ (∑ i ∈ Finset.range (k + 1), f i + if Even (k + 1) then 1 else 0) = f (k + 1 + 1) rflsucc.inr k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1hpar:((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1hpar':((if Even k then 1 else 0) + if Even k then 0 else 1) = 1⊢ (∑ i ∈ Finset.range (k + 1), f i + if Even (k + 1) then 1 else 0) = f (k + 1 + 1)succ.inr k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1hpar:((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1hpar':((if Even k then 1 else 0) + if Even k then 0 else 1) = 1⊢ (∑ i ∈ Finset.range (k + 1), f i + if Even (k + 1) then 1 else 0) = f (k + 1 + 1)
rw [Finset.sum_range_succ succ.inr k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1hpar:((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1hpar':((if Even k then 1 else 0) + if Even k then 0 else 1) = 1⊢ (∑ x ∈ Finset.range k, f x + f k + if Even (k + 1) then 1 else 0) = f (k + 1 + 1) succ.inr k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1hpar:((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1hpar':((if Even k then 1 else 0) + if Even k then 0 else 1) = 1⊢ (∑ x ∈ Finset.range k, f x + f k + if Even (k + 1) then 1 else 0) = f (k + 1 + 1)]succ.inr k:ℕih:1 ≤ k → (∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)hm:1 ≤ k + 1hk:k > 0h1:(∑ i ∈ Finset.range k, f i + if Even k then 1 else 0) = f (k + 1)h2:(f (k + 1 + 1) + if Even k then 1 else 0) = f (k + 1) + f k + if Even k then 0 else 1hpar:((if Even (k + 1) then 1 else 0) + if Even k then 1 else 0) = 1hpar':((if Even k then 1 else 0) + if Even k then 0 else 1) = 1⊢ (∑ x ∈ Finset.range k, f x + f k + if Even (k + 1) then 1 else 0) = f (k + 1 + 1)
omega All goals completed! 🐙
f is strictly increasing from index 4 on.
@[category API, AMS 11]
theorem erdos_346.variants.f_strictMono : StrictMono fun k => f (4 + k) := by ⊢ StrictMono fun k ↦ f (4 + k)
refine strictMono_nat_of_lt_succ fun k => ?_ k:ℕ⊢ f (4 + k) < f (4 + (k + 1))
show f (4 + k) < f (4 + (k + 1)) k:ℕ⊢ f (4 + k) < f (4 + (k + 1))
have h := erdos_346.variants.f_add_two (3 + k) (by k:ℕ⊢ 1 ≤ 3 + k k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1⊢ f (4 + k) < f (4 + (k + 1)) omega All goals completed! 🐙 k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1⊢ f (4 + k) < f (4 + (k + 1))) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1⊢ f (4 + k) < f (4 + (k + 1))
have hf : 2 ≤ f (3 + k) := by ⊢ StrictMono fun k ↦ f (4 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1))
have h2 : 2 ≤ Nat.fib (3 + k) := le_trans (by k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1⊢ 2 ≤ Nat.fib 3 k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)⊢ 2 ≤ f (3 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1)) decide All goals completed! 🐙 k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)⊢ 2 ≤ f (3 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1)) : 2 ≤ Nat.fib 3) (Nat.fib_mono (by k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1⊢ 3 ≤ 3 + k k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)⊢ 2 ≤ f (3 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1)) omega All goals completed! 🐙 k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)⊢ 2 ≤ f (3 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1)))) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)⊢ 2 ≤ f (3 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1))
by_cases he : Even (3 + k) pos k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)he:Even (3 + k)⊢ 2 ≤ f (3 + k)neg k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)he:¬Even (3 + k)⊢ 2 ≤ f (3 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1))
· pos k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)he:Even (3 + k)⊢ 2 ≤ f (3 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1)) have h4 : 4 ≤ 3 + k := by ⊢ StrictMono fun k ↦ f (4 + k) pos k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)he:Even (3 + k)h4:4 ≤ 3 + k⊢ 2 ≤ f (3 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1))
rcases Nat.even_iff.1 he with h k:ℕh✝:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)he:Even (3 + k)h:(3 + k) % 2 = 0⊢ 4 ≤ 3 + kpos k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)he:Even (3 + k)h4:4 ≤ 3 + k⊢ 2 ≤ f (3 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1))
omegapos k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)he:Even (3 + k)h4:4 ≤ 3 + k⊢ 2 ≤ f (3 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1))pos k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)he:Even (3 + k)h4:4 ≤ 3 + k⊢ 2 ≤ f (3 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1))
have h3 : 3 ≤ Nat.fib (3 + k) :=
le_trans (by k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)he:Even (3 + k)h4:4 ≤ 3 + k⊢ 3 ≤ Nat.fib 4 pos k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)he:Even (3 + k)h4:4 ≤ 3 + kh3:3 ≤ Nat.fib (3 + k)⊢ 2 ≤ f (3 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1)) decide All goals completed! 🐙pos k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)he:Even (3 + k)h4:4 ≤ 3 + kh3:3 ≤ Nat.fib (3 + k)⊢ 2 ≤ f (3 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1)) : 3 ≤ Nat.fib 4) (Nat.fib_mono h4)pos k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)he:Even (3 + k)h4:4 ≤ 3 + kh3:3 ≤ Nat.fib (3 + k)⊢ 2 ≤ f (3 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1))
simp only [f, if_pos he] pos k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)he:Even (3 + k)h4:4 ≤ 3 + kh3:3 ≤ Nat.fib (3 + k)⊢ 2 ≤ Nat.fib (3 + k) - 1 k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1))
omega All goals completed! 🐙 k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1))
· neg k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)he:¬Even (3 + k)⊢ 2 ≤ f (3 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1)) simp only [f, if_neg he] neg k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1h2:2 ≤ Nat.fib (3 + k)he:¬Even (3 + k)⊢ 2 ≤ Nat.fib (3 + k) + 1 k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1))
omega k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1)) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (4 + k) < f (4 + (k + 1))
rw [show 4 + (k + 1) = 3 + k + 2 by ⊢ StrictMono fun k ↦ f (4 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (3 + k + 1) < f (3 + k + 2) omega All goals completed! 🐙 k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (3 + k + 1) < f (3 + k + 2), show 4 + k = 3 + k + 1 by ⊢ StrictMono fun k ↦ f (4 + k) k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (3 + k + 1) < f (3 + k + 2) omega All goals completed! 🐙 k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (3 + k + 1) < f (3 + k + 2)] k:ℕh:(f (3 + k + 2) + if Even (3 + k) then 1 else 0) = f (3 + k + 1) + f (3 + k) + if Even (3 + k) then 0 else 1hf:2 ≤ f (3 + k)⊢ f (3 + k + 1) < f (3 + k + 2)
split_ifs at h pos k:ℕhf:2 ≤ f (3 + k)h✝:Even (3 + k)h:f (3 + k + 2) + 1 = f (3 + k + 1) + f (3 + k) + 0⊢ f (3 + k + 1) < f (3 + k + 2)neg k:ℕhf:2 ≤ f (3 + k)h✝:¬Even (3 + k)h:f (3 + k + 2) + 0 = f (3 + k + 1) + f (3 + k) + 1⊢ f (3 + k + 1) < f (3 + k + 2) <;> pos k:ℕhf:2 ≤ f (3 + k)h✝:Even (3 + k)h:f (3 + k + 2) + 1 = f (3 + k + 1) + f (3 + k) + 0⊢ f (3 + k + 1) < f (3 + k + 2)neg k:ℕhf:2 ≤ f (3 + k)h✝:¬Even (3 + k)h:f (3 + k + 2) + 0 = f (3 + k + 1) + f (3 + k) + 1⊢ f (3 + k + 1) < f (3 + k + 2) omega All goals completed! 🐙
The sequence f is not complete whenever infinitely many terms are removed from it, and this
is proved in [Gr64d].
@[category research solved, AMS 11]
theorem erdos_346.variants.f_not_isAddComplete {B : Set ℕ} (h : B ⊆ range f) (hB : B.Infinite) :
¬ IsAddComplete (range f \ B) :=
not_isAddComplete_range_diff_of_sum_range_le (n₀ := 4) erdos_346.variants.f_strictMono
(fun m hm => by B:Set ℕh:B ⊆ range fhB:B.Infinitem:ℕhm:4 ≤ m⊢ ∑ i ∈ Finset.range m, f i ≤ f (m + 1) have := erdos_346.variants.sum_range_f m (by B:Set ℕh:B ⊆ range fhB:B.Infinitem:ℕhm:4 ≤ m⊢ 1 ≤ m B:Set ℕh:B ⊆ range fhB:B.Infinitem:ℕhm:4 ≤ mthis:(∑ i ∈ Finset.range m, f i + if Even m then 1 else 0) = f (m + 1)⊢ ∑ i ∈ Finset.range m, f i ≤ f (m + 1) omega All goals completed! 🐙 B:Set ℕh:B ⊆ range fhB:B.Infinitem:ℕhm:4 ≤ mthis:(∑ i ∈ Finset.range m, f i + if Even m then 1 else 0) = f (m + 1)⊢ ∑ i ∈ Finset.range m, f i ≤ f (m + 1)) B:Set ℕh:B ⊆ range fhB:B.Infinitem:ℕhm:4 ≤ mthis:(∑ i ∈ Finset.range m, f i + if Even m then 1 else 0) = f (m + 1)⊢ ∑ i ∈ Finset.range m, f i ≤ f (m + 1); omega All goals completed! 🐙) h hB
Erdős and Graham [ErGr80] remark that it is easy to see that if A (n + 1) / A n > (1 + √5) / 2
then the second property is automatically satisfied.
@[category research solved, AMS 11]
theorem erdos_346.variants.gt_goldenRatio_not_IsAddComplete {A : ℕ → ℕ}
(hA : ∀ n, (1 + √5) / 2 * A n < A (n + 1)) {B : Set ℕ} (h : B ⊆ range A) (hB : B.Infinite) :
¬ IsAddComplete (range A \ B) := by A:ℕ → ℕhA:∀ (n : ℕ), (1 + √5) / 2 * ↑(A n) < ↑(A (n + 1))B:Set ℕh:B ⊆ range AhB:B.Infinite⊢ ¬IsAddComplete (range A \ B)
sorry All goals completed! 🐙
Erdős and Graham [ErGr80] also say that it is not hard to construct very irregular sequences
satisfying the aforementioned properties: there is a strictly increasing sequence A that is
strongly complete and not complete whenever infinitely many terms are removed from it, but with
$\liminf_n A(n+1)/A(n) = 1$ and $\limsup_n A(n+1)/A(n) = \infty$.
@[category research solved, AMS 11]
theorem erdos_346.variants.example : ∃ A : ℕ → ℕ, StrictMono A ∧ IsAddStronglyCompleteNatSeq A ∧
(∀ B : Set ℕ, B ⊆ range A → B.Infinite → ¬ IsAddComplete (range A \ B)) ∧
liminf (fun n => A (n + 1) / (A n : ℝ)) atTop = 1 ∧
limsup (fun n => A (n + 1) / (A n : ENNReal)) atTop = ⊤ := by ⊢ ∃ A,
StrictMono A ∧
IsAddStronglyCompleteNatSeq A ∧
(∀ B ⊆ range A, B.Infinite → ¬IsAddComplete (range A \ B)) ∧
liminf (fun n ↦ ↑(A (n + 1)) / ↑(A n)) atTop = 1 ∧ limsup (fun n ↦ ↑(A (n + 1)) / ↑(A n)) atTop = ⊤
sorry All goals completed! 🐙end Erdos346