> But why would anyone assume that n horses, for arbitrary n, are the same color?
because that's how inductive proofs work. You assume something is true for N and show that this implies that it's also true for N+1. This combined with base case (for example for N=1) proves that it's true for all N >= 1.
The assumption is just a tool used to check if you can prove the implication, the real "meat" of the proof is in the implication.
Are you aware of proofs by contradiction? A: "assume N is the largest natural number". If that's true then there shouldn't be any natural numbers larger than N, but we can create N+1 and show it's larger AND natural, so assumption A leads to contradiction, so there is no such thing as the largest natural number.
We used false assumption in our proof, but the proof was correct.
It's a similar idea with inductive proofs - you make an assumption and see where it leads you. You don't use the assumption for the proof, you use the implication A(N)=> A(N+1) for the proof, the assumption A is just a way to see if you can prove the implication.
> You might as well say "We can prove that coconuts can migrate. First, assume that coconuts can migrate. Thus, coconuts migrate". It's equally valid logic.
The logic isn't actually circular, your coconut analogy is wrong. Correct analogy would be:
"when we assume N coconuts can migrate we can formally show that it implies N+1 coconuts can migrate" + "we can show that 1 coconut can migrate". You only need these 2 facts to prove all coconuts can migrate.
Well, anyone who's seen a field of horses knows that "assume any set of n horses has the same color" is not valid.
So if what you say is true, then that implies the entire field of inductive reasoning is horse shit. But I don't think that's the case, so something's missing.
> Well, anyone who's seen a field of horses knows that "assume any set of n horses has the same color" is not valid.
That's not even true! If n is 0 or 1 then the statement is correct, for example.
If your response is "It's not true for all n, though." well, the inductive proof doesn't assume it for all n either. It only assumes it for one n at a time.
But also, you're getting too hung up on the exact wording of the statement.
For example, we could do the same proofs, but put "on farmer Joe's land" onto the statements.
If we do that, "anyone who's every seen a field with horses in it" can't tell us if the statement is true or not. Maybe all groups of 2 horses in a field on farmer Joe's land do have the same color, because he sorts his horses. And obviously all groups of 3 horses would have to have the same color, etc. etc.
So on farmer Joe's land, A(n=2) is true. And the induction is valid. And using it gives you the correct results! What's the problem with inductive reasoning here?
You seem upset that the induction itself might be valid even if n=2 isn't, but I don't know why. The induction is the same no matter whose farm you're on. That's why you need to prove the base case too.
> But you're not trying to prove X = 3 and starting out by assuming X = 3.
It's really not. There's an entire series of X, and we're saying if we can prove one we can prove the next. You never assume an X when proving that X. And you never assume a higher X when proving a lower X. There are no circles. It's a chain.
"Assume X is 3. Then 2*X=6" is just a different way of saying "If X is 3, then 2*X=6"
You can rewrite the entire thing without the word assume if you want.
You can do the whole thing as "if Y, then Z". "if A(n), then A(n+1)". If pairs of horses are the same color, then triples of horses must be the same color. If triples of horses are the same color, then quads of horses must be the same color. Those sound like reasonable statements to me.
Even if we're talking about all horses in the entire world, I could theoretically go kill every non-brown horse, and the original statements would all become true.
This is math. You can't object to abstract logic by mentioning real-world facts that could change at any moment.
> But you're not trying to prove X = 3 and starting out by assuming X = 3.
No, you're trying to prove
for all N>=1: A(N) is true
and start by proving that
IF A(N) is true THEN A(N+1) is true
This implication can be true even if A(N) is false, and your final proof will only use the implication, not the assumption used when proving that implication.
Assumptions in math proofs can have scopes. For example in many proofs you split the domain into subsets and prove that something is true assuming X>=0 and X<0 separately. Naively you would say that we cannot assume X>=0 and then assume X<0 in the same proof because that's a contradicion.
But these assumptions were used in different scopes so there's no contradiction.
So it's worth noting that the inductive hypothesis isn't false for all values of n - namely, it is true for n = 0,1.
But beyond that, in mathematical logic, for p -> q, you can still prove this to be true, even if p is false. In fact, if you can prove p is always false, p -> q is 'vacuously true' - it's true because you can never come up with an example of 'p and not q'.
So mathematically, there's no problem with assuming an induction hypothesis that's actually false here. The real problem occurs is that the result doesn't follow from the assumption because the induction step of the 'proof' sneakily assumes that n >= 3, i.e., the induction step simply doesn't work for the n = 2 case.
That's absurd. Anyone who's ever seen a field with horses in it would trivially know that this is a faulty assumption to make.
You might as well say "We can prove that coconuts can migrate. First, assume that coconuts can migrate. Thus, coconuts migrate".
It's equally valid logic.