4 ms·
AN interesting and non rigorous way to think of it is can the compiler optimize away the non compute-able part. So this: if (God does exist) return i
by minkzilla 2y ago
AN interesting and non rigorous way to think of it is can the compiler optimize away the non compute-able part. So this:
if (God does exist)
return isPrime(3)
else
return isPrime(5)
The compiler can take this and in the first pass say, isPrime(3) is just return true, isPrime(5) is return true. Then we have an an if else with the same return for both cases, this is the same as return true!
- wodenokoto 2y agoI like this explanation, but how would you apply that logic to If (god does exist) Return true Else Return False
- minkzilla 2y agoI guess I misread the first part of the article while skimming. I think the key is this paragraph computability is about whether a computer program exists to map inputs to outputs in a specified way; it says nothing about how hard it might be to choose or find or write that program. Writing the program could even require settling God’s existence, for all the definition of computability cares. I guess in this case God's existence needs to be a compile time constant. I saw it elsewhere in the comments but I think computability as defined in Computer Science and used by the author is more strict a definition than you or I are/were thinking, and that is really the main point of the article. People confuse computability with "can it be computed". Missing values (such as knowledge of God's existence or null values) mean you can not computer something but that is a different thing.
- deleted 2y ago[deleted]
- deleted 2y ago[deleted]
- ludwik 2y agoIt would be something like this: if (God does exist) return isComputable(() => true) else return isComputable(() => false) (where `() => true` / `() => false` are functions, returning true / false) You do know that the code above will always return "true", without having to know whether god exists.