I have the following data structure in Haskell to represent computable real numbers $\mathbb{M}$:
data Computable = Exact Rational | Inexact (Word -> Integer)
Exact labels rational numbers $\mathbb{Q}$, and Inexact labels Cauchy sequences whose limit is a computable real number, like this (using lambda calculus):
$$ \text{Inexact}^{-1}(x) = \lambda k. \lfloor x × 10^k \rceil $$
The problem is, there is no algorithm that compares computable numbers. So I have the following false algorithm:
instance Eq Computable where
Exact x == Exact y = x == y
_ == _ = False
This is false when comparing same irrational numbers.
So I want to extend the underlying field of Exact. In Haskell, the "best" such field would be the smallest field extension of $\mathbb{Q}(\pi)$ that is closed under $\exp$ and $\log$.
But since it is unknown whether $\pi + e$, $\pi - e$, $\pi × e$, $\pi ÷ e$, $\pi^\pi$, $\pi^\sqrt{2}$, $\pi^e$, $e^{\pi^2}$, $\log \pi$, $2^e$, or $e^e$ is rational, it follows that there is no known equality-comparing algorithm in such field.
To put it formally, let $D$ be a datastructure whose members represent a subfield of computable numbers. Then $=$ is an equivalance relation on $D$. There must be a known algorithm $f : D/= \space → D$ that picks a representive member from each equivalence classes.
Is there a biggest such $D/=$? If not, do the following fields satisfy the condition?:
$\mathbb{Q}(\alpha)$ for a trescendental number $\alpha$
$\mathbb{Q}(\alpha, \sqrt{\alpha}, \sqrt[3]{\alpha}, \sqrt[4]{\alpha}, \sqrt[5]{\alpha}, \cdots)$ for a trescendental number $\alpha$
$\mathbb{Q}(\log 2, \log 3, \log 5, \log 7, \log 11, \cdots)$
The aboves extending real algebraic numbers $\mathbb{A}$ instead of $\mathbb{Q}$