Saturday, February 2, 2019

logic - Paradox - What is wrong with this proof that proves a false assertion?



Theorem: Let an=an1+1,a1=1. For any n, in order to compute an, it is necessary to compute ai for each i=1,,n1, which takes Θ(n) time.



Proof: This is vacuously true for n=1. Assume true for n=k1. Prove true for n=k. In order to compute ak1+1, it is necessary to compute ak1. Then since ak=ak1+1, in order to compute ak, it is necessary to compute ak1. By the induction hypothesis, in order to compute ak1, it is necessary to compute ai for each i=1,,k2. Hence, in order to compute ak, it is necessary to compute ai for each i=1,k1. QED



What is wrong with this proof? It seems valid to me, even though the theorem is false.


Answer



In your induction step, you made the additional assumption (beyond the inductive hypothesis) that it was necessary to compute ak1 in order to compute ak. That's hardly the case, as simple inspection of the recursive definition gives us the closed-form definition an:=n for all n.



No comments:

Post a Comment

analysis - Injection, making bijection

I have injection f:AB and I want to get bijection. Can I just resting codomain to f(A)? I know that every function i...