Hacker News new | ask | show | jobs
by LudwigNagasena 757 days ago
Saying 1 is both an integer and a rational number is wildly different from saying it is both an integer and an ASCII character. Z is a subset of Q. ASCII characters don’t overlap with either.

When you construct numbers using sets under ZFC axioms or inside lambda calculus what you get is representation. But 1 is just 1.

1 comments

Your keyboard has a button with ‘1’ printed on it. When you push that, you don’t always get an integer or a rational number. You can convert what you get to either. So there must be overlap with ASCII somehow?
There is some overlap in some sense somehow, but not in any literal sense unlike in the sense in which all elements of Z are elements of Q.
By any common set-theoretic construction of Q (e.g., equivalence classes of integer pairs under cross-multiplication), 1 as an element of Z is not literally an element of Q: 1 ∈ Q merely corresponds to 1 ∈ Z, and this correspondence is carefully designed to preserve the ring operations of Z within a certain subset of Q. In this case, the distinction is so negligible that eliding it is harmless, but the whole point of the article is that such elisions can become harmful in more complex constructions.

1 ∈ Z and ASCII '1' can similarly be seen as corresponding in terms of having the same glyph when displayed. But of course, there are far fewer meaningful operations common to the two.

1 is not a set, any set-theoretic construction of 1 is not literally 1.
I am not sure I understand what you mean by “literally” here. For sure, if you use Zermelo–Fraenkel set theory as the foundation of mathematics, as is commonly done, every mathematical object is a set. The first definition of 1 encountered in that setting is the singleton set {0}, where 0 is the empty set. (And 2={0,1}, 3={0,1,2} and so forth – you get the picture.) This is precisely the sort of thing this is all about: The natural numbers are uniquely described up to unique isomorphism by some variant of the Peano axioms after all.
That doesn’t make 1 a set. Its representation in ZFC is a set. But its representation in eg lambda calculus is a function.

Saying that 0 belongs to 1 is false no matter what one uses to represent those numbers in any ZFC formalisation of numbers.

It’s a map-territory distinction.