Zero is the Devil: Common ways to construct bogus proofs. （暂未翻译）
It is easy to make mistakes when conducting mathematical proofs. Nevertheless, you can find some recurring error patterns in those proofs. And some of the most common reasons are related to the innocuous-looking number zero.
Let's look at the following "proof" of :
What is wrong here? We cancel both side of the equation by , but our premise includes , so we have a division-by-zero problem.
Generally, performing cancellation without a zero-check is a terrible idea and should be avoided.
Ok, here is another stupid "proof" of that "all objects are the same." We will assume that objects are countable.
Let be the set of all objects. And let the property mean that all subsets of of size at most contain the same same objects. Formally:
where is the power set of the set , which is defined by all subsets of , and means the cardinality (elements count) of .
We want to prove that . And we will prove that by mathematical induction on .
Base case ():
This is trivial as the singleton set of object can only contain the same object.
We treat as our inductive hypothesis, and we need to prove . Without the loss of generality, pick an arbitrary set such that . Pick two objects , and let's show . Let and . Since , we know that and by the inductive hypothesis. Pick an arbitrary object . We get because of and . Similarly, . Thus, , which proves the inductive steps and the "theorem" .
Again the mistake here is related to zero. can well be zero, so we cannot just "pick" an element from it.
If you are from a more programming background, it is no coincidence that dividing by zero or getting an element from a collection of zero-elements will cause horrible run-time errors.
I hope you have fun reading this post, just as me having fun writing it.