2

Principle of Mathematical Induction (PMI). Let $P(n)$ be a statement depending on some $n\in \mathbb{N}$. Suppose that $P(1)$ is true and that $P(n)$ true implies $P(n+1)$ true for each $n\in \mathbb{N}$. Then $P(n)$ is true for all $n\in \mathbb{N}$.

Proof. Let $n\in \mathbb{N}$. Since $P(1)$ is true and $P(1)$ true implies $P(2)$ true we deduce that $P(2)$ is true. Similarly, since $P(2)$ true implies $P(3)$ true we deduce that $P(3)$ is true. Hence after $n$ applications of modus ponens we get that $P(n)$ is true. As $n$ is arbitrary we conclude that $P(n)$ is true for all $n\in \mathbb{N}$.

What is the problem with this proof? I would like to write the proof in formal logic language and see clearly which rule of deduction it violates.

EDIT: Based on the constructive comments I formulated what I think is a decent answer below. Any feedback is greatly appreciated.

Alphie
  • 5,087
  • 4
    Aren't you essentially using induction here to prove induction? – Riemann'sPointyNose Jun 13 '20 at 19:45
  • Yeah, I mean, in most formal systems, the way to "do something $n$ times" is precisely to apply induction. Really "induction" is just the formal way to repeatedly do things an indefinite number of times – Izaak van Dongen Jun 13 '20 at 19:46
  • @Riemann'sPointyNose I don't think so. I choose an arbitrary $n$ and then apply modus ponens a finite number of times. Then I use the fact that $n$ was arbitrary to generalize. – Alphie Jun 13 '20 at 19:47
  • I could be completely wrong, I am by no means an expert whatsoever in logic at all - but it definitely feels "inductiony" (if that's even a word? XD) to apply something like this an arbitrary number of times. Like, this is essentially how proof by induction works - it just feels circular. But as I say I could be wrong. Maybe someone could give a more formal explanation why it's right/wrong – Riemann'sPointyNose Jun 13 '20 at 19:55
  • Alphie, I guess your problem is that the "formal logic language" you're talking about is a bit nebulous. I can tell you for a fact that this would not work formally in a system like first-order Peano arithmetic, without applying its principle of induction. This is because there is no axiom of Peano arithmetic other than induction that says "if $n$ is finite, you can do something $n$ times". You are kind of fallaciously applying "meta" reasoning from outside the system to your proposed formal proof, which isn't how formal systems work. – Izaak van Dongen Jun 13 '20 at 19:58
  • You're almost pre-supposing some property of natural numbers, which is the fact that you can do things repeatedly. The problem is that if you're planning to prove this about the natural numbers you have to work with a formal definition of them, in which induction is exactly the axiom that makes your proof work. – Izaak van Dongen Jun 13 '20 at 20:01
  • 1
    I guess that's why fundamental mathematics like this can be hard, because even things that are obvious from an outside perspective - you cannot use. It has to be very strictly from your axioms, and nothing else - you have to very much think "inside the box" xD – Riemann'sPointyNose Jun 13 '20 at 20:13
  • @IzaakvanDongen In FOL I thought a proof could be any finite sequence of formulas. – Alphie Jun 13 '20 at 20:23
  • Yes, that's true, so for example you could easily prove that $P(100)$ is true, given a little time. But there isn't any inference rule that lets you do "modus ponens $n$ times", without knowing $n$. The way you do this is induction. – Izaak van Dongen Jun 13 '20 at 20:26
  • @IzaakvanDongen Right but I fix $n$ at the beginning so it should work no? – Alphie Jun 13 '20 at 20:37
  • 1
    I think the point Izaak is making is that the mechanic that allows you to do this process of "applying $n$ times" and getting a meaningful conclusion is exactly induction, so what we've really said here is "induction works, because I can do induction". I completely understand why it feels like this proof should be fine - intuitively, induction is something our brains are perfectly well equipped to understand, precisely because of the reasoning you have given. But in a formal system we can't use intuition, it has to be from what is alreadyknown/accepted to be true. Someone correct me if wrong – Riemann'sPointyNose Jun 13 '20 at 21:52
  • You wanted to know what was wrong, Alphie. Several people have now told you exactly what was wrong. If you don't want to be taken for a crank, now is the time to stop fighting and start studying what you've been told and think about it until you understand it. – Gerry Myerson Jun 14 '20 at 10:04
  • @GerryMyerson Ok sorry about that. Do you know good reference books where I learn more about this? – Alphie Jun 14 '20 at 10:38
  • I think what you have to learn is that whenever you use the word "proof", you are implicitly working within some axiom system, and when you are working so close to the fooundations, you have to know exactly what axiom system you are working in, and you have to be careful not to include anything that doesn't come explicitly and rigorously from that axiom system. I'm not sure you need a book to learn about that, but there are many good intro logic texts around. There's Mendelson, there's Enderton, have a look at https://mathoverflow.net/questions/33096/reading-materials-for-mathematical-logic – Gerry Myerson Jun 14 '20 at 10:51
  • Also https://mathoverflow.net/questions/44620/undergraduate-logic-textbook and https://math.stackexchange.com/questions/4170/good-books-on-mathematical-logic and https://math.stackexchange.com/questions/1461254/textbook-for-mathematical-logic – Gerry Myerson Jun 14 '20 at 10:58

1 Answers1

2

After reading the comments and thinking about it for some time I believe my confusion comes from not distinguishing between the object language and the metalanguage.

In FOL proofs can be any finite sequence of formulas, so in particular I can apply modus ponens $n$ times for any finite $n$.

But in the proof $n$ denotes a term of the in the object language, which has nothing to do with the $n$ I mentioned before.

In other words there are really two $n$'s. The first is a term in the object language FOL and the second is a positive integer in the metalanguage.

Alphie
  • 5,087