Your alleged counterexample is wrong, because the U you constructed is not computable. First, “computable” means that there is a program P which receives s and ϵ∈Q as inputs s.t. for all s and ϵ, it halts and
|P(s,ϵ)−U(s)|<ϵ
Second, even your weaker definition fails here. Let ϵ=12. Then, there is no program that computes U within accuracy ϵ, because for every n, U(0n20ω)=34 while U(0ω)=0. Therefore, determining the value of U(s) within ϵ requires looking at infinitely many elements of the sequence. Any program would that outputs 0 on 0ω has to halt after reading some finite m symbols, in which case it would output 0 on 0m20ω as well.
You are right and now it is clear, why your original statement is correct, too. Let U be an arbitrary computable utility function. As above, let u=U(o0a0o1a1…) and (u−ϵ,u+ϵ)⊆(a,b) with ϵ>0 and ϵ∈Q. Choose P as in your definition of “computable”. Since P(s,ϵ) terminates, its output depends only on finitely many oi1,…,oik,aj1,…,ajl. Now
{s′=o′0a′0o′1a′1…|o′i1=oi1,…,a′jl=ajl}
is open and a subset of U−1(u−ϵ,u+ϵ), since |P(s′,ϵ)−u|<ϵ.
Your alleged counterexample is wrong, because the U you constructed is not computable. First, “computable” means that there is a program P which receives s and ϵ∈Q as inputs s.t. for all s and ϵ, it halts and
|P(s,ϵ)−U(s)|<ϵSecond, even your weaker definition fails here. Let ϵ=12. Then, there is no program that computes U within accuracy ϵ, because for every n, U(0n20ω)=34 while U(0ω)=0. Therefore, determining the value of U(s) within ϵ requires looking at infinitely many elements of the sequence. Any program would that outputs 0 on 0ω has to halt after reading some finite m symbols, in which case it would output 0 on 0m20ω as well.
You are right and now it is clear, why your original statement is correct, too. Let U be an arbitrary computable utility function. As above, let u=U(o0a0o1a1…) and (u−ϵ,u+ϵ)⊆(a,b) with ϵ>0 and ϵ∈Q. Choose P as in your definition of “computable”. Since P(s,ϵ) terminates, its output depends only on finitely many oi1,…,oik,aj1,…,ajl. Now
{s′=o′0a′0o′1a′1…|o′i1=oi1,…,a′jl=ajl}is open and a subset of U−1(u−ϵ,u+ϵ), since |P(s′,ϵ)−u|<ϵ.