Consider a simple conditional statement such as the following:
(0) If its raining, then the game will be cancelled.
Statement (0) is false if its raining without the game being cancelled, since it claims that rain suffices for cancellation. If, however, it isn’t raining, (0) is trivially true, and it is true even assuming that the game is cancelled for some other reason, e.g. if the away team’s bus breaks down. Notice that the following conditional statement is just another way of saying the same thing:
(1) The game will be cancelled if its raining.
Letting R = “Its raining”, and X = “The game is cancelled”, we would symbolise both sentences (0) and (1) as follows:
(1*) (R → X)
Statement (1) must be distinguished from the following statement, which claims instead that cancelation requires (or necessitates) rain.
(2) If the game is cancelled, then its raining.
(2*) (X → R)
This would be false if the game is cancelled for some reason other than rain--which is to say that the only way for the game to be cancelled is for it to rain. Thus, another way to say (2) is as follows:
(3) The game will be cancelled only if it rains.
This is to say that if it doesn’t rain then the game will not be cancelled, which would be symbolised as follows:
(3**) (¬R → ¬X)
And since (3*) and (3**) are logically equivalent both are translations of sentence (3).