/- Copyright 2025 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 FormalConjecturesUtil

Erdős Problem 1101

Reference: erdosproblems.com/1101

open Nat Filter namespace Erdos1101

The set of integers not divisible by any u_i.

def ASet (u : ) : Set := { a | i, ¬ u i a }

The sequence of integers A_u which are not divisible by any u_i arranged in a monotonic sequence.

noncomputable def A (u : ) (n : ) : := Nat.nth (fun a => a ASet u) n

t_x such that u_0 ... u_{t_x-1} ≤ x < u_0 ... u_{t_x}.

noncomputable def t (u : ) (x : ) : := sSup { k | i Finset.range k, u i x }

A sequence is "good" if

    it is strictly monotone

    it is pairwise coprime

    the sum of reciprocals converges

    the gap between consecutive elements in A(u) is bounded relative to t_x.

def IsGood (u : ) : Prop := StrictMono u ( i j, i j Coprime (u i) (u j)) Summable (fun n => 1 / (u n : )) ε > 0, ∀ᶠ x in atTop, k, A u k < x (A u (k + 1) : ) - A u k < (1 + ε) * (t u x : ) * (∏' i : , (1 - 1 / (u i : )))⁻¹

    There is NO good sequence with polynomial growth.

@[category research open, AMS 11] theorem declaration uses 'sorry'erdos_1101.parts.i : ¬ u, IsGood u k : , (fun n => (u n : )) =O[atTop] (fun n => (n : ) ^ k) := ¬ u, IsGood u k, (fun n => (u n)) =O[atTop] fun n => n ^ k All goals completed! 🐙

    There is a good sequence with sub-exponential growth.

@[category research open, AMS 11] theorem declaration uses 'sorry'erdos_1101.parts.ii : u, IsGood u (fun n => Real.log (u n : )) =o[atTop] (fun n => (n : )) := u, IsGood u (fun n => Real.log (u n)) =o[atTop] fun n => n All goals completed! 🐙 end Erdos1101