@iblech Oooh very nice way to state the concept; the proof is also pleasantly direct. As @MartinEscardo is always reminding us, #constructiveMathematics tends to work best when we state a result positively and in this case doing so enables us to not have to worry about not-equal versus apart in stating the result.
In Metamath notation: 𝐴 ∈ ℝ → (𝐴 ∈ ℚ ↔ ∃𝑞 ∈ ℚ ∃𝑟 ∈ ℚ (𝑞 ≠ 𝑟 ∧ (abs‘(𝐴 − 𝑞)) = (abs‘(𝐴 − 𝑟)))) . Proof at https://github.com/metamath/set.mm/pull/5275
We prove in constructive logic that the statement of the Cantor-Bernstein theorem implies excluded middle. This establishes that the Cantor-Bernstein theorem can only be proven assuming the full power of classical logic. The key ingredient is a theorem of Martín Escardó stating that quantification over a particular subset of the Cantor space $2^{\mathbb{N}}$, the so-called one-point compactification of $\mathbb{N}$, preserves decidable predicates.
I said I'd also talk about one sided versus two sided Dedekind cuts. My own work has been with two sided Dedekind cuts and indeed orthodoxy in #constructiveMathematics is that these are the ones which are well defined. But I did find there is a one sided definition, due to James E Hanson, which apparently works. I'll just refer to https://mathoverflow.net/a/495508/489586 for further details (which are not as simple as the classical one sided cut).
7/8
This is a 🧵 about the Dedekind cut construction of real numbers in #constructiveMathematics , particularly two technical details. The first has to do with defining additive inverse and multiplication, when we can't use excluded middle for things like "is a real number positive or not?". The second is about one sided versus two sided cuts.
1/8
@[email protected] What I have produced is largely at https://us.metamath.org/ileuni/mmil.html especially the sections "Different flavors of constructive mathematics", "A note on existence", and "How to intuitionize classical proofs". Haven't really pursued writing up any of it as a paper (for a variety of reasons).