Let’s see how to create proofs with subproofs in this in logic-ex.
Here we’re asked to write a proof that will
require a subproof. (If you’ve been following the
lectures, you’ve already seen this proof.)
We’re going to create a subproof in order to use the rule arrow intro.
If you don’t already know the rule, please take a look at the rule now
so you can follow what we’re doing.
The first thing we need is a bit more space
for our subproof.
Remember that the proof is just a bit of text, and the black box here
is just a text editor.
So to make new lines I just use the enter key.
Here I’ve added new lines to the proof.
Each line starts with a vertical bar, ‘|’.
(If you can’t find the vertical bar on your keyboard you
might have to copy and paste it.)
OK, let’s make a subproof.
On each line, I need to add a new vertical bar like this one.
So now, as you can see, there are two vertical bars at the start of line 4.
I keep going with adding the extra vertical lines,
and I add the horizontal line as three dashes, ‘-’.
So this is a subproof. It’s just lie the outer proof:
each line that is part of it starts with a vertical bar,
and the premise is seperated from the rest with a horizontal
line comprising three dashses.
When I’m doing a proof I like to put the premise
and conclusion of the subproof in first.
After all, we already know what these are from the rule
of proof we are using, whereas we will have
to think about what goes in the middle.
The premise of the subproof is A.
But why is it A?
Well A is the thing on the left of the condition.
It’s the *antecedent* of the conditional.
And if you look at the rule for arrow intro, it tells you
that the subproof has to start with the antecdent of the
conditional you want to introduce.
Now for the conclusion of the subproof.
Here I’ve written C.
But why have I written C?
Because C is the thing on the right of the conditional
we are trying to introduce.
It is the *antecdent* of 'A → C '
And the rule for arrow intro tells us that we need a subproof
whose conclusion is the antecdent of the conditional we are
trying to introduce.
So there’s no choice about what to put for the premise and
conclusion of the subproof, we just have to do what the rule tells
us to do.
We’re not done with the rule arrow intro yet.
To use the rule it’s not enough to have a subproof: we also neeed
to provide the justification.
What goes here?
As always the rule tells us exactly what to write.
So I’ve filled in the justification.
But wait a minute: the red dot means the line is not correct.
Why is it wrong?
Oops, I wrote arrow elim when I should have written arrow intro.
You might think this doesn’t really matter; I got the ‘arrow’ part write,
I just confused intro and elim, which I do all the time (sorry).
But if you’re a machine, or a logican, it matters.
The software doesn’t do marks for effort, it just cares where what
you’ve written is a proof or not. And if you’ve got a red dot,
you havent’t written a proof.
So I’ve changed elim to intro.
Now I’m citing the right rule ...
... but I still have that red dot.
What is wrong?
Take a look at the error message.
It tells me that lines 4-6 can’t be cited here.
And I am citing lines 4-6, so the message is relevant.
But why can’t I cite them?
Wait a minute, lines 4-6 are only part of the subproof.
This is a mistake.
I wanted to cite the whole subproof.
And in fact the rules of proof only allow me to cite whole
Let’s update so that the justification cites the whole subproof.
That is, it cites lines 4-7
Now I’ve got the grren dot, at last.
Am I done?
Not quite, I still need to complete the subproof.
I know that I can get B from
A at line 4 and the conditional ‘A → B’ at line 1.
So I’ve added B at line 6.
Now I need to give some justification for this line.
What will the justification be?
I’m eliminating the arrow from a conditional sentence, A → B, from line 1, and I have the
antecedent of the conditional at line 4.
So what should I write for the justification?
The last thing I need is the justification for the C at line 7.
Where does this come from?
I’m eliminating the arrow from B → C (line 2) and I can do this because
I also have the antecedent, B, at line 6.
The proof looks ok, lots of green dots, but sometimes the dots don’t
get updated (they’re a bit lazy to avoid making your browser slow down).