Let n≥1 be an integer. We are given that f(0/n)=f(0)≤0 and f(n/n)=f(1)≥0. Now consider the points 0/n,1/n,…,(n−1)/n,n/n in the interval [0,1]. By 1-D Sperner’s lemma, there are an odd number of j∈{0,…,n} such that f(j/n)≥0 and f((j−1)/n)≤0 (i.e. an odd number of “segments” that begin below zero and end up above zero). In particular, 0 is an even number, so there must be at least one such number j. Choose the smallest and call this number jn.
Now consider the sequence (jn/n)∞n=1. Since this sequence takes values in [0,1], it is bounded, and by the Bolzano–Weierstrass theorem there must be some subsequence (kn/n)∞n=1 that converges to some number x∈[0,1].
Consider the sequences (f((kn−1)/n))∞n=1 and (f(kn/n))∞n=1. We have f((kn−1)/n)≤0≤f(kn/n) for each n≥1. By the limit laws, (kn−1)/n→x as n→∞. Since f is continuous, we have f((kn−1)/n)→f(x) and f(kn/n)→f(x) as n→∞. Thus f(x)≤0 and f(x)≥0, showing that f(x)=0, as desired.
Here is my attempt, based on Hoagy’s proof.
Let n≥1 be an integer. We are given that f(0/n)=f(0)≤0 and f(n/n)=f(1)≥0. Now consider the points 0/n,1/n,…,(n−1)/n,n/n in the interval [0,1]. By 1-D Sperner’s lemma, there are an odd number of j∈{0,…,n} such that f(j/n)≥0 and f((j−1)/n)≤0 (i.e. an odd number of “segments” that begin below zero and end up above zero). In particular, 0 is an even number, so there must be at least one such number j. Choose the smallest and call this number jn.
Now consider the sequence (jn/n)∞n=1. Since this sequence takes values in [0,1], it is bounded, and by the Bolzano–Weierstrass theorem there must be some subsequence (kn/n)∞n=1 that converges to some number x∈[0,1].
Consider the sequences (f((kn−1)/n))∞n=1 and (f(kn/n))∞n=1. We have f((kn−1)/n)≤0≤f(kn/n) for each n≥1. By the limit laws, (kn−1)/n→x as n→∞. Since f is continuous, we have f((kn−1)/n)→f(x) and f(kn/n)→f(x) as n→∞. Thus f(x)≤0 and f(x)≥0, showing that f(x)=0, as desired.