Given a sequence #(b_n)#, we say that #b# is a *cluster point* of #(b_n)# if every neighborhood of #b# contains infinitely many elements of #(b_n)#.

If we translate this into the real numbers, that means that if #L="lim inf"(a_n)#, then we should be able to create an arbitrarily small interval #(L-epsilon, L+epsilon)# around #L# and still have infinitely many #a_n in (L-epsilon,L+epsilon)#.

To show this, we need to understand what the limit inferior of a sequence is. In the case of a sequence of real numbers, the limit inferior is an extension of the idea of a greatest lower bound. It is the greatest value such that all numbers in the sequence are *eventually* greater than that value.

#"lim inf"(a_n) =#

#max{L in RR | EEN in NN" s.t. " n>N=>a_n>=L}#

It's a lower bound which allows us to discard any number of finite elements of the sequence lower than it.

Now, how can we use this? Well, first of all, notice that #(a_n)# is bounded. This is important, as it guarantees that we actually have a limit inferior (imagine the sequence #(-1)^n n^2#, no eventual bounds there!). So, as we are guaranteed of its existence, let's let #L# be the limit inferior of #(a_n)#.

Now, let's show that #L# is a cluster point of #(a_n)# using an argument by contradiction.

Suppose that #L# is *not* a cluster point of #(a_n)#. Then there exists some #epsilon > 0# such that #(L-epsilon, L+epsilon)# contains only finitely many elements of #(a_n)#. Let #a_(n_1), a_(n_2), ..., a_(n_k)# be the ordered list of elements of #a_n# in #(L-epsilon, L+epsilon)#. Then, for all #n > n_k#, we have #a_n >= L+epsilon#. But #L+epsilon > L# and #L# is, by definition, the greatest number with that property. Thus we have reached a contradiction, meaning #L# must be a cluster point of #(a_n)#. ∎