Ryan Brewer
banner
ryanbrewer02.bsky.social
Ryan Brewer
@ryanbrewer02.bsky.social
Software dev studying logic and aesthetics
The logical way is: if you have a proof of false you can prove anything (the principle of explosion). So, given a proof of false, can you prove something false? We say that it's yes "vacuously." Since the function can't be called, it's safe to say anything at all about the returned value!
November 13, 2025 at 8:26 AM
The set-theoretic way is:
- a function is a set of pairs, one for every input
- false->false has no inputs so there's only one function, the empty set
- false->false as a type is the set of all of these functions, so it's {{}}, a singleton set of the empty set. Voila, it's inhabited!
November 13, 2025 at 8:22 AM
I'm glad you liked it! Let me know if you have any questions, it's a truly ancient post and I've grown a lot as a writer since then haha

If "the identity on false" is hard to think about there are a couple other ways to think about it: a set-theoretic way and a logical way (1/3)
November 13, 2025 at 8:19 AM