Let's try to approach the problem through looking at the relationship between the grammar of natural languages like English or French, and the artificial language of logic. This answer will be very long, but hopefully will build up what you need to know step by step. Let's start with some grammar.
Many natural languages, including English and French, use grammar to distinguish between sentences that assert a fact and sentences that express situations contrary to fact. We say sentences that assert a fact are in the indicative mood. "The cat is on the mat" is in the indicative mood.
Sentences that express a situation contrary to fact are said to be in the subjunctive mood. "If only the cat were on the mat!" is in the subjunctive mood.
A conditional (in natural language) is a sentence that has two clauses, which usually implies some kind of logical or causal connection between them. Conditionals can in either the indicative or the subjunctive mood.
- If the cat is on the mat, then it wants to be fed.
- If the cat were on the mat, it would want to be fed.
Now let's turn to the relationship between logical and natural language. The language of logic is an artificial language that human beings created intentionally in order to model a phenomenon. That phenomenon is the human ability to reason. Most reasoning that most people do is called verbal reasoning. Just by speaking a language competently, people have the ability to draw inferences. Verbal reasoning is just like verbal mathematics in this sense.
Just by knowing some number words ("one", "two")and operation words ("add" "subtract") one can do some mathematics. However, obviously our powers of verbal reasoning are limited. Consider how hard it would be to express the pythagorean theorem without using the conventions of algebra. ("The square of the length of the hypotenuse of a right triangle is equal to the sum of the squares of its adjacent sides")
So, what we do is create an artificial language that simplifies and clarifies our verbal mathematics. In this artificial language we start with an arbitrary set of symbols, then we create a system of rules that let us transform strings of these symbols into other strings of symbols, finally we create an interpretation of those strings of symbols to specify what phenomenon we are modeling with that set of symbols and rules. For instance, in the artificial language of arithmetic, we establish a couple of conventions: we use '1', '2', etc to be the names of the numbers, the lower case letters 'a', 'b', 'c' to stand for variables, '+' to stand for the operation of addition, "=" to stand for the relation of equality. Finally we can give these symbols an interpretation by specifying that we will let "a" and "b" and "c" stand for the lengths of the sides of a right triangle. And so we can express that complicated pythagorean theorem with our new language much more simply as "a^2+b^2=c^2". This is not only easier to understand--it also let's us know just how to work with and manipulate this sentence so we can discover new truths.
Artificial languages are called formal languages, because up until that final step of specifying an interpretation, the language has no content. It is just a description of how certain arbitrary signs behave together.
Now what about logic? Logic is just like arithmetic. It is a formal language we have created in order to simplify and clarify certain kinds of verbal reasoning we do. What we are after in formal logic is an account of logical consequence, i.e. how to know precisely and rigorously what follows from a sentence or set of sentences. Now there are lots of different logics, just like there are different branches of mathematics. The idea is that you need slightly different formal languages to describe and model different phenomena.
People always start with learning what is called propositional or sentential logic. In propositional logic, we use the material conditional to express the natural language reasoning we do about a grammarian would call an indicative conditional. In many ways this is a big simplification. "If 2+2=5, then Abraham Lincoln is the current president of the US" would be true in propositional logic, even though that sentence would sound false to many native English speakers. Is this a problem? No, because it turns out that letting that sentence count as true in propositional logic won't let us infer anything false---since it can never be the case that 2+2=5, if will never be the case that we can infer Abraham Lincoln is the president, using the rules of propositional logic.
Propositional logic, as simple as it is, is still a very powerful tool. It allows us to express in a concise, formal way much of the verbal reasoning that people do in everyday life. However, it has limits. One of those limits is that it only formalizes inferences that people would make verbally in the indicative mood. But clearly people also do reason in the subjunctive mood as well. For instance, the following is an argument made in ordinary language which is obviously valid (if the first two sentences are true, the third has to be true as well) and yet it is made in the subjunctive mood.
- If the egg had fallen off the table, it would have broken on the floor.
- If the egg had broken on the floor, I would not have been able to make pancakes.
- Therefore, if the egg had fallen off the table, I would not have been able to make pancakes.
The conditions involved here are not material conditions, because the material condition only models the indicative, and these sentences are in the subjunctive. The logic of subjunctive conditionals is much, much more complex than the logic of indicative conditionals, so it is not at all surprising that some of the rules of inference like contraposition that hold for the material conditional do not hold for the subjunctive conditional. To explain formally why subjunctive conditionals don't counterpose would require an advanced knowledge of the branch of logic known as modal logic. What is really fascinating though, is that people's verbal reasoning abilities about subjunctive conditions is actually pretty good.