cofunctor
This is a subtlety of doing computability theory in classical foundations. It’s akin to how every concrete instance P(x) of a decision problem P is decidable: just use excluded middle to figure out if P(x) is true or false, and then use the Turing machine that immediately accepts or rejects regardless of input. This is very different from writing a machine that has to decide P(x) when given x as an input!
This sequence of rationals is monotonic and is upper-bounded by 1, but does not have a computable least upper bound. If such an upper bound existed, then it would encode solutions to the halting problem for every program. However, the reals have least upper bounds of all upper bounded subsets under mild classical assumptions, so we’ve made ourselves an uncomputable real out of computable data.
Sequences of this form are called Specker sequences, and are how you cook up most uncomputable numbers. There are models of constructive logic that do not admit any Specker sequences and admit only computable reals, but that is beyond the scope of a single comment :)
Taking the algebraic closure of Q gives us algebraic numbers, which are a very natural object to consider. If we lived in an alternative timeline where analysis was never invented and we only thought about polynomials with rational coefficients, you’d still end up inventing them.
If you then take the metric completion of algebraic numbers, you get the complex numbers.
This is sort of a surprising fact if you think about it! the usual construction of complex numbers adds in a bunch of limit points and then solutions to polynomial equations involving those limit points, which at first glance seems like it could give a different result then adding those limit points after solutions.