Modal verbs in English are difficult to master, but they show important nuances in meaning. That’s why it’s worth the effort to get them right.
Inference or obligation?
Most modal verbs carry two very different meanings, even if the form is the same:
I must get going.
Must is an obligation in this example.
It must be cold out since everyone is wearing a jacket.
Must is an inference or guess in this sentence.
This difference becomes more clear in the past tense:
I had to leave the party early yesterday, because the subway was about to close.
Must can’t be used for obligation in the past. Instead we use had to.
It must have been cold last night since all of the puddles froze.
Must as an inference in the past becomes must have [v3].
What’s the point of such a complex system? It tells the English speakers whether you witnessed something directly or are guessing. In fancy linguistic terms this is called evidentiality. English is relatively simple, some Amazonian languages like Pirahã are impossibly complex.
It must have rained.
It rained is a statement of fact. The assumption is that the speaker saw the rain.
It must have rained means that speaker didn’t see the rain but is almost certain it rained.
What about adverbs?
There’s a hack to avoid using these complex modal structures for evidentiality. Use adverbs and phrases instead.
It looks like it rained last night.
It probably rained last night.
These show the exact same information as it must have rained: you didn’t see the rain yourself but are almost certain it rained.
Using modal verbs is more common for English speakers, but adverbs won’t cause any issues.
If you get carried away and come up with a sentence:
In my opinion, it definitely rained
That’s not, strictly speaking, a grammatical mistake. On the other hand, no native speaker would say that.
If you’re just learning, that’s fine. Your goal is to understand and be understood. If naturalness and more advanced English are your goals, then you can work on actively using modal verbs for evidentiality.
After must, the most problematic modal verb is should. The same principle applies:
I should get groceries.
This is an obligation. I don’t have any food at home, that’s why I should go to the store.
The store should be open.
Let’s say I look at the time and see it’s 9:30 (and now the grocery usually opens at 9:00). I don’t know that the store is open, but there’s a high probability that it is.
It’s not common to use should have in the past as an inference. Instead, should have can mark the past unreal (also known as the 3rd conditional).
The store should have been open yesterday evening, but the manager decided to close early.
For a past inference, stick with must have.
Must is as certain as you can be without having seen something yourself.
Should is a bit less than certain.
May and Might are somewhere around 50%.
Could have is possible but not very likely.
Can’t is for something impossible.
It must have rained last night since there are puddles everywhere.
I didn’t see it rain, but based on the evidence it’s almost certain that it rained last night.
My plants should be happy with the extra water!
I’m not the type of person that can talk to the plants in my garden, but I do know that plants like water. That’s why I can be almost certain the plants liked the rain, but I don’t know through direct experience.
It may have rained or my neighbor might have watered the garden.
In this case I’m contrasting two more or less equally probable possibilities.
Who knows, a pipe could have broken in the garden.
This is based on the same evidence (the garden is wet), but a less likely explanation.
It can’t have rained all night since the garden isn’t that wet.
This excludes something that is impossible.
Think of meaning
This is easier to master when you think of meaning rather form. If you try to translate the form of these modal verbs, you’re going to end up with something mangled. Instead focus on the meaning and translate the that instead of the literal words.