Formal logic seeks to abstract general principles of reasoning which are in some way independent of context. For example, if we know that sentence A is true, then we know that the sentence "Either A or B is true" is also true. We don't need to know exactly what A (or B) actually say in order to know that this is a valid piece of reasoning, where "valid" means that if the initial assumption (premise) is true, then the conclusion follows logically. We can write this as follows:
Premise: A is true.
Conclusion: Either A or B is true.
Here are some more valid arguments:
Premise: A and B are both true.
Conclusion: A is true.
Premise: If A is true then B is true.
Premise: A is true.
Conclusion: B is true.
Premise: If A is true then B is true.
Premise: B is not true.
Conclusion: A is not true.
Some people find this sort of thing more obvious than others. Well, all right, everybody finds those first few examples that I have given obvious, but the last one requires different amounts of squinting with your head to one side, depending on natural ability and how much practice you've had. If you can't see it immediately, suppose that both premises are true and note that if A were also true, B would be true (by the previous argument), which would make B both true and not true. As a result, A must be false.
If this all seems like so much obviousness, consider that around the beginning of the twentieth century there was a movement to construct all of mathematics from this sort of abstract logic. That this movement ultimately failed in an interesting way does not change my point that formal logic can go well beyond the obvious.
People use different types of shorthand for various logically important words like "and", "or", "not" and "if". I shall use the following:
A_______A is true.
~A______A is not true.
AvB_____Either A or B is true (or both)
A&B_____Both A and B are true.
A->B____If A is true then B is true.
One way of explaining the exact content of each of these statements is in a truth table such as the following:
The first line of this table states that, in the case where statements A and B are both true, the statement "~A" is false, and the statements "AvB", "A&B" and "A->B" are all true. Alternatively, we can look down the second column for the right to see that the statement "A&B" is only true in the case where both A and B are true.
Some of you may be slightly discomforted by the "A->B" column. I know I was, when I first saw it. Yes, the fact that today is not Wednesday means that the statement "If today is Wednesday, then I have five legs" is true. Certainly the truth table thinks so, anyway. Suppose A is the statement "Today is Wednesday", and B is the statement "Lynet has five legs". We are given that A is false. According to the bottom two lines of the truth table this means that "A->B" is true. On the other hand, suppose today is Wednesday, and I do not have five legs. Now the truth table tells us that "A->B" is false.
Now, I know you can't see me over the internet, but I can assure you that I never have five legs. So the statement "If today is Wednesday, then Lynet has five legs" is true unless it is Wednesday, in which case it is false. Got that?
In mathematics, this version of "if . . . then" works fine, because things which are mathematically false stay false; things which are mathematically true stay true. However, in real life we often want to know what things would be like if they were different. If today was Wednesday, would I have five legs? This turns out to be a very different sort of question! An "if . . . then" statement is called a conditional statement. An "if . . . then" statement in which you are speaking of what would happen if something were true is called a counterfactual conditional statement.
Counterfactual conditional statements are pretty well impossible to put into formal logic. They seem to have an inextricable contextual component which makes them impossible to describe in a contextless, abstract way. Whereas the logical "A->B" doesn't require us to know anything about what A or B actually say, the statement "If A was true, B would be true" really needs context, and some idea of what A and B are, before we can use it. This is because we are speaking of some other possible (or sometimes impossible) world where A is true, and we need context and the elusive 'common sense' to tell us how much of the current world to imagine as changed before we consider whether B would be true in such a world. Consider the following exchange:
"If I had my cousin's money, I'd be a happy woman."
"If you had your cousin's money, you'd be in jail."
It's possible for both these statements to be true in some sense, even if the first speaker would most assuredly not be happy in jail! The first statement is considering a possible world in which the speaker both has her cousin's money, and has a legal right to her cousin's money. The second statement changes the world just enough that the first speaker would have her cousin's money, but does not change the fact that the first speaker has no legal right to her cousin's money. How much of the world do we change in evaluating this sort of statement? It depends on context. Sometimes it is obvious and sometimes it isn't. Either way, we can't substitute abstract As and Bs for the statements given. We need to know what is actually being said if we want to have any hope of deciding what is meant.
Counterfactual conditionals are, I would say, absolutely fundamental to human thought. However, the fact that they don't have an exact logical meaning means that they can interact with more logical ways of describing the world in an interesting fashion. For example, consider the question of free will. Most people would, I suspect, agree that we have free will in a situation if we could have acted differently. That's a counterfactual conditional right there, and the question of what free will means can twist in exactly the way that counterfactual conditionals do. For example, sometimes a person might say "I didn't have a choice about handing him my wallet -- the man had a knife to my throat!" Now technically, you could choose not to hand over your wallet. You could die instead if you wanted to. Of course, you'd lose the wallet anyway, so it would be a rather peculiar choice, which is why most people would accept that statement without a blink. The world where the wallet is taken from your dead body rather than given by you isn't considered as a relevant possibility when evaluating whether you could have acted differently.
Do we have some sort of 'free will' beyond the fact that we could act differently if we wanted to, counterfactually speaking? I find it hard to imagine how such a thing could work. That doesn't mean such a thing doesn't exist, of course, but I'll withhold belief until I'm given evidence and/or an accurate explanation of what such free will would actually mean.