So taking limi→∞ we get d(O)≥1/w(O). Additionally, if all but finitely many gaps yi are equal to w(O), then d(O) exists and equals 1/w(O).
Taking liminfi→∞ of (1) actually shows that even the lower density d(O)=liminfna(n)/n is at least 1/w(O). The advantage of using the lower density is that it is defined for all subsets of natural numbers. Let's record this observation.
O1: for O⊂Z+, 1/w(O)≤d(O), where 1/w(O)=0 if w(O)=∞.
O2: If ∀n∈I,w(On)≤M for some fixed integer M, then I is finite.
Proof: If I is infinite, consider M+1 sets O1,...,OM+1 and an interval [a,a+M−1] where a is large enough that the smallest element of each On,n≤M+1 is below a. Then all M+1 disjoint sets O1,...,OM+1 have at least one element in [a,a+M−1], which is impossible by pigeonhole principle.
So if w(On)=O(1), then I is finite – we are juggling finitely many balls. This leads to another conjecture: if ∀n∈I,w(On)≤Mn, then I is finite (the only difference is that now Mn depends on n). This one is not true. Let the first set fill half of naturals, the second – half of the remaining half, etc:
So far we know that if w(On)=O(1), then I is finite, but w(On)=O(2n) is not strong enough to guarantee that. A natural question is:
Question: is there an increasing function f(n) such that w(On)=O(f(n)) if and only if I is finite? Perhaps f(n)=n2 or another polynomial?
We already saw that 1/w(O)≤d(O). So it might be fruitful to think about the (lower) densities of On. Intuitively, the sum of densities of a partition cannot be larger than 1 because each density is the "proportion" of the set in Z+. Indeed, this is easy to formally state and prove:
O3: if sets {On}n=1∞ are disjoint, then ∑n=1∞d(On)≤1.
Proof: It suffices to prove that ∑n=1Nd(On)≤1 for all N so fix any N. We have
n=1∑Nd(On)=i→∞liminfn=1∑Ni∣On∩[i]∣=i→∞liminfi1n=1∑N∣On∩[i]∣≤i→∞liminfi1×i=1because On’s are disjoint.
Putting observations O1 and O3 together we obtain
O4: If I is infinite, then ∑n=1∞1/w(On)≤1. In particular, 1/w(On) is asymptotically smaller than 1/n. Formally, w(On)=ω(n).
The contrapositive of the above is w(On)=O(n)⟹∣I∣<∞. Is the converse true? For example, can we find an infinite partition {On} of Z+ with w(On)≤n2? In order to answer this question I wrote a program that explores the "greedy" algorithm of making successive sets On.
We want to see if we can "fit" infinitely many disjoint sets {On} in Z+ with w(On)≤n2 (starting at n=2). The naive greedy algorithm for doing this is as follows. Let O2=4,8,12,16,etc. We now want to let O3=9,18,27,36,etc. but there is a collision at 36. So change 36 to 35 and keep going at strides of 9. In general, place the next element of On, go to the current element plus the width n2. If this spot is empty, put it there, if not, try the spot one below, etc. If we are ever unable to find the next spot because on our search down we returned back to the current element, then this strategy fails. If no such failure occurs, then we succeed.
The aforementioned program successfully uses this strategy for 108 numbers, i.e. we fill the set {1,…,108} with sets O2,…,O108 without any problems. Additionally letting the width of On be c⋅n1+ϵ for higher constants c and smaller values of ϵ>0 suggests that this strategy is successful for w(On)=Θ(n1+ϵ) for ϵ>0 arbitrarily small. So we have the conjecture
C1: For any ϵ>0 the "greedy" algorithm produces infinitely many sets On with w(On)=Θ(n1+ϵ).
If this conjecture is true, then we have the following two facts:
∣I∣=∞⟹w(On)=ω(n).
w(On)=Ω(n1+ϵ)⟹∣I∣=∞.
At that point it is still unclear what happens at, say, w(On)=Θ(nlog2n), since ∑nlogkn1 converges for k>1. But if C1 is true, perhaps the following is true as well.
C2: For any increasing function f such that ∑n1/f(n) converges, the "greedy" algorithm produces infinitely many sets On with w(On)=Θ(f(n)).
This would finally give the equivalence
∣I∣=∞⟺n∈I∑1/w(On)<∞.
If I is finite then any sum over n∈I converges, so stating the statement above takes a bit more precision but we'll cross that bridge when we get there.
Lean is a proof assistant that allows people to "explain" mathematics to a computer. For example, here is my proof of the squeeze theorem. It would be cool to formalize the above observations in Lean.