5 ms·
Your reasoning is valid, and I do have the impression that you should refresh your knowledge about logic.
by Gehinnn 4y ago
Your reasoning is valid, and I do have the impression that you should refresh your knowledge about logic.
- constantcrying 4y agoAs a reminder: a proof by contradiction works by assuming first the negation of a given statement. If from that you can deduce a falsehood you know that statement is true. In the article the author says: "If you implement halts using canBeRegex, you’ve got a proof by contradiction that canBeRegex can’t exist." Which is plainly a false statement. What he means is the following statement: "If you show that if canBeRegex is computable then halts is computable, you’ve got a proof by contradiction that canBeRegex can’t exist." Those two statements are clearly not equivalent. And only the second one is true.
- dellamonica 4y agoWait, so you are saying that the only thing missing in the first statement is that the implementation is required to be correct? I think that is pretty obvious. This is beyond nitpicking.
- constantcrying 4y ago>that the implementation is required to be correct? No. "Implemented" is in fact irrelevant, it is clearly not the term to use here. Because what the implementation uses is irrelevant, the question is about whether computability in one can be derived from computability of the other. In his example the implementation also uses ".length", whether it does or doesn't is irrelevant though. Since it is not a question of implementation. >This is beyond nitpicking. Also known as standard practice in mathematics.
- dellamonica 4y agoImplemented in this context means exactly the type of reduction that is needed. If halt can be implemented by using X that means you can reduce X to halt. This is similar to polynomial time reductions in complexity. Standard practice in mathematics would apply here if what was said is wrong. This time it is about an interpretation that no one shares with you. [edit] After reading again your comment I realized that maybe you are not applying the logic correctly. If the reduction "implementation" uses both length and foo, then the conclusion is that at least one of length or foo cannot be computable. Since length is trivial, then it must be foo that is not computable.
- constantcrying 4y ago>If halt can be implemented by using X that means you can reduce X to halt. Replace X with .length and read your statement again. "If halt can be implemented by using .length that means you can reduce .length to halt." Please just answer whether you believe that statement is true or false (or undecidable).
- dellamonica 4y agoYou would need to show how to use length to implement halt and that is the part you will not be able to do. If you did, then yes, length would not be computable. Reductions in complexity theory work like this. An explicit algorithm invokes a black box and this shows that either the black box does not exist or you can solve the original problem. Typically you care about the complexity of the reduction to establish that the problem is inside a given complexity class (e.g. NP complete).
- constantcrying 4y agoYou didn't answer the question. The statement is obviously false by the way, as you can see in the article where the author does exactly that. You rephrasing the statement to make it true, is just ignoring the point. I would encourage you to engage in some studying of reading comprehension. It is an important skill in mathematics and related disciplines.
- dellamonica 4y agoYou are the one failing basic logic. Your statement is logically true but vacuous because your conditional is false! If <absurd condition> then <some even more absurd thing> is a perfectly sound logic statement. I explained already how reduction proofs work. Why don't you read on that instead of posting non sense?
- constantcrying 4y agoYou are arguing against a completely fictional point which you have made up in your head. None of what you are saying is even remotely a response to my criticism. You can tell me that I failed basic logic all you want, but your reading comprehension sucks so much that you still have not been able to figure out what I am even talking about. I think you still haven't understood that I never said his intended reasoning was wrong. But that his statement as written is plainly false. There is no argument against the logic by me, so the fact that you keep going on and on about "logic" just shows that you haven't even understood yet that nobody disagrees with the logic. I know how a proof by contradiction works, you do not seem to want to understand that "computes" and "implements" are different words. And that by repeatedly arguing that the authors reasoning is valid if you change the statement to make it correct you are proving my point again and again.