# Proof with conditional introduction

Below is a screen-cap of part of a video where a proof using conditional introduction is shown, which is proving under certain assumptions that given A is true, then the adjacent sentence is also true.

I think I am misinterpreting the proof, as it would seem to be implying that under the assumption of B is true, and knowing A is true, then B implies A is true, but this can't be right. Surely B and A can both be true without B entailing A. So how does the proof work?

I'm really confused. • If A is true, then any B, true or not, implies A in classical logic. Indeed, False → True and True → True are both true. Material conditional is not about anything affecting anything's existence, it is purely formal. You are probably thinking about something like relevance conditional, which requires relevance of conclusion to the premise, and is non-classical. – Conifold Feb 20 '19 at 21:07
• Perhaps, but formal logic does not care about meanings, only logical form. And in classical logic everything is decided by truth values, including implication. So False → True and True → True lead to A → (B → A) being a tautology. – Conifold Feb 20 '19 at 21:22
• "If A is true, then any B, true or not, implies A". But if B is false and A is true, then wouldn't B → A be false? – tom894 Feb 20 '19 at 21:23
• If B is false and A is true then B → A is true. False → True and False → False, that's how the material conditional works: ex falso quodlibet - from falsehood, anything, see explosion. – Conifold Feb 20 '19 at 21:27

The OP raises the following question about the implication A ∴ B → A.

I think I am misinterpreting the proof, as it would seem to be implying that under the assumption of B is true, and knowing A is true, then B implies A is true, but this can't be right. Surely B and A can both be true without B entailing A. So how does the proof work?

One way to see what is going on is to consider a truth table. Here is one: The fourth line in that table shows what happens to the implication when both A and B are true.

Another way is to try to write a proof oneself. Here is one way to do this with a proof checker to make sure the steps are correct: Here the reiteration (R) rule on line 3 allows us to copy A from line 1 to line 3. One can then rewrite lines 2 and 3 as a conditional using the rule of conditional introduction (→I).

What makes this work is a truth predicate that assigns a true or false value to each of the sentences symbolized as letters. Couple that with inference rules and one has a truth-functional logic. Follow the rules and trust the symbolization can be assigned a truth predicate and the logic flows without considering what it is one is talking about.

Kevin Klement's JavaScript/PHP Fitch-style natural deduction proof editor and checker http://proofs.openlogicproject.org/

Stanford Truth Table Tool: http://web.stanford.edu/class/cs103/tools/truth-table-tool/

I think I am misinterpreting the proof, as it would seem to be implying that under the assumption of B is true, and knowing A is true, then B implies A is true, but this can't be right. Surely B and A can both be true without B entailing A. So how does the proof work?

When we are promised that something is true, then it will still be true under any assumption.

``````A, B, C, D |- A
``````

When something is true under an assumption then we may discharge that assumption to deduce a conditional statement that holds under all other assumptions.

``````   A, C, D |- B → A
``````

And so on.

``````      A, D |- C → (B → A)

A |- D → (C → (B → A))

|- A → (D → (C → (B → A)))
``````