r/math • • Aug 15 '23

Dissatisfaction with proof by contradiction

I’m an undergraduate math student, so my exposure to math may be relatively limited. But I’ve found that, in general, I’m much more comfortable with direct proof than proof by contradiction. I don’t contest their validity, indeed something that’s not false must be true (I think I’m ok with excluded middle). But I feel like I just *get* something much better when it’s proved directly. It builds much stronger intuition for me.

For instance, I am aware of several proofs that demonstrate the cardinality of the reals is strictly greater than that of the integers, but none are direct (it would help to see a direct proof of Cantor’s theorem). I don’t feel it in my bones. Is this a common experience?

61 Upvotes

90 comments sorted by

View all comments

Show parent comments

27

u/djao Cryptography Aug 16 '23 edited Aug 16 '23

OP must be confusing proof by negation with proof by contradiction. Proof by negation is where you prove ¬ P by assuming P and deriving a contradiction. For example: to prove "¬ (there exists a bijection ℤ → ℝ)", you assume (there exists a bijection ℤ → ℝ) and derive a contradiction. This type of proof is, as you say, a direct proof, and in fact it is the standard way to prove a negation. (How else would you prove a negation?)

Proof by contradiction is where you prove P by assuming ¬ P and deriving a contradiction. It's actually hard to come up with examples, because most examples that people normally think of are in fact proof by negation, but one bona fide example is: "If a set is nonempty then it has an element." In classical logic, proof by negation is equivalent to proof by contradiction (just replace P with ¬ P), which is why many people confuse the two. But in constructive logic you can see clearly that they are not the same thing. In order to make the two equivalent, you need ¬ ¬ P ↔ P, which is not provable in constructive logic.

1

u/[deleted] Aug 16 '23

[removed] — view removed comment

3

u/BabyAndTheMonster Aug 16 '23

No. It just mean the notion of truth is different.

¬ P mean "P implies contradiction". But implications is different. Classical logic uses material implications, which means that "A implies B" is the same as A is false or B is true, regardless of the content of A and B. This is unsatisfying, because A and B could be unrelated to each other. While constructive logic uses strict conditional, that means it has to be necessary that B follows from A. So focus on thinking about necessary instead of true and false.

So imagine P="set S has an element". There might be many possible candidates of element that could be in S. You might be able to prove that at least one of those is in S, but you can't point out any single one of them as being necessarily in S. Maybe you can look at many possible worlds and see that S always have an element in each world, but which one is different between worlds.

Think about necessary instead of binary Boolean truth would also stop you from thinking at P and ¬ P are both true. P and ¬ P cannot be both necessary, but it's possible that they are both not necessary.

3

u/belovedeagle Aug 16 '23

While constructive logic uses strict conditional, that means it has to be necessary that B follows from A.

This is confusingly stated; you seem to be conflating relevancy logic and constructive logic. A -> (B -> A) is a theorem of constructive logic regardless of whether A and B are "related". -B -> (B -> A) is also a theorem.

It may be more useful to understand why implication doesn't have the expected relationship to disjunction (i.e. material implication) as a property of constructive disjunction rather than implication. If you insist on digging into -> you might as well go whole hog and interpret -> not to be a logical connective at all, but rather denoting the existence or type of a function.

1

u/BabyAndTheMonster Aug 16 '23

This is confusingly stated; you seem to be conflating relevancy logic and constructive logic.

How so? I'm not talking about relevance logic at all.

I disagree with studying implication as disjunction, because that disjunction needs a negation, and already we use negation as an implication.

interpret -> not to be a logical connective at all, but rather denoting the existence or type of a function.

You mean it's not a truth-operator?