What is a “perfect modal”?
This is a pretty advanced grammar topic, but I’ll try to use simple explanations today. Perfect modals are not actually “perfect,” but they are called that because they use a modal verb (in this case, could, should, might/may, must) followed by a perfect tense construction (“have” + past participle). Perfect modals are used to talk about past actions.
Must have
“Must have” is used to express a logical conclusion about something that occurred in the past. We are unsure of what exactly happened, but based on the evidence, we can come to some conclusion. As opposed to “might have” or “may have”, as we will see later, “must have” expresses more certainty.
| The lights are off. They must have gone out. |
| I never see John and Claire together anymore. They must have separated. |
| I know you love chocolate. It must have been difficult to say “no” to that piece of cake. |
| John never called you last night? He must have been working late. |
| Frank failed the exam. He must not have been paying attention in class. |
May have/Might have
“May have” and “might have” are used to express possibility in the past. The use of these two modal perfects also express uncertainty.
| I think it may have worked but we gave up too soon. |
| They might have won if their star player hadn’t been injured. |
| I don’t know, it might have been different if you were there. |
Can’t have
“Can’t have” is used in a similar manner to “must have”, but in the negative. We use “can’t have” when we are fairly certain that something didn’t happen or wasn’t true in the past.
| I know you love chocolate. It can’t have been easy to say “no” to that piece of cake. |
| Frank failed the exam. He can’t have been paying attention in class. |
| They had a lot of work to do and little time. They can’t have finished everything. |
Could have
“Couldn’t have” can be used instead of “can’t have”.
| I know you love chocolate. It couldn’t have been easy to say “no” to that piece of cake. |
| Frank failed the exam. He couldn’t have been paying attention in class. |
| They had a lot of work to do and little time. They couldn’t have finished everything. |
“Could have” is also used to express that something was possible in the past, but in fact did not happen.
| If it hadn’t stopped raining, the party could have been a disaster. |
| She could have run faster, but she wanted to save her energy. |
| We could have bought a new car, but we decided to use the money to go on vacation. |
“Could have”, in the affirmative, is similar to “might have” or “may have”, in that it expresses possibility in the past.
| I think it could have worked, but we gave up too soon. |
| They could have won if their star player hadn’t been injured. |
| I don’t know, it could have been different if you were there. |
Should have/Ought to have
“Should have” and “ought to have” are used when something didn’t happen but it would have been better if it had. In the negative, these modals indicate that something happened but it would have been better if it hadn’t.
| I told you, you should have studied more! |
| Ben ought to have gone to the doctor sooner. Now they say it will be a month before he is fully recovered. |
| We should have left earlier. Now we are going to be late. |
| I shouldn’t have eaten that last cookie. |
| She shouldn’t have been angry, it wasn’t your fault. |
Would have
“Would have” is used to form the conditional in English. See the lesson on conditional sentences for more information.