Although the majority of modal verbs have no past form, it is possible to use them to refer to the past. It requires the usage of the so-called perfect infinitive, which is the construction of the modal verb + have + past participle.
Modal + have + participle
|Would have||Past unreal action||If I had known the future, I would have done it differently.|
|Could have||Past unreal ability||He could have taken the flight.|
|May have||Past unreal possibility||We may have passed the math exam, but it was in Spanish.|
|Might have||Past unreal small probability||You might have sold the car., if you really needed the Money.|
|Should have||Past unreal recommendation||You should have listened to the teacher.|
|Must have||Past unreal assumption||We must have been crazy!|
MAY / MIGHT + HAVE + PAST PARTICIPLE
To make an assumption/guess about the past.
If we want to say that something probably happened in the past, we use “might have”
|I might have lost it somewhere.||I think/I suspect (probably) I was shopping at that time|
|I might have lost it somewhere.||I think/I suspect (probably) I lost it somewhere|
|She may not have met him before.||I think/I suspect (probably) they had never met before|
COULD + HAVE + PAST PARTICIPLE
1. To make an assumption/guess about the past.
Could have and might have can be interchangeable and mean the same thing
To make an assumption about the past, we also use “could have” form.
I could have lost the keys in the pub. I think/I suspect (probably) I lost my keys in the pub
I might have lost the keys in the pub. I think/I suspect (probably) I lost my keys in the pub
He could have got stuck in traffic.
He might have got stuck in traffic.
2. When something could have happened but did not.
The form “could have” is also used when talking about something that could have happened, but did not.
You could have broken your leg!
I could have gone to the cinema, but I decided to stay home.
3. When something seems to be impossible.
Whereas negative form “couldn’t have” is used to talk about something that couldn’t have happened and something impossible.
She couldn’t have met him before. He used to live in Canada.
He couldn’t have gone to the shopping centre. It’s closed on Sundays.
MUST + HAVE + PAST PARTICIPLE
When something certainly happened (certainty)
When we expressed certainty about an event or state, in the past we use “must have”:
You must have been tired.
He must have gone home.
CAN’T + HAVE + PAST PARTICIPLE
To express past impossibility.
In turn, the verb “can’t” used in the present tense means that a situation is impossible.
Can’t have, correspondingly, means that a situation could not have happened in the past:
She can’t have been asleep. Her eyes were open.
You can’t have seen Luke yesterday. He left the city six months ago.
COULDN’T HAVE vs CAN’T HAVE
Can be used interchangeably – but can’t is stronger, like impossible.
He couldn’t have done it Impossible that he did it. (He was not able to)
He can’t have done it. Impossible that he did it. (I know this!)
SHOULD HAVE & OUGHT TO HAVE
SHOULD / OUGHT TO + HAVE + PAST PARTICIPLE
Mean something that would have been a good idea, but that you didn’t do it. It’s like giving advice about the past when you say it to someone else, or regretting what you did or didn’t do when you’re talking about yourself.
When giving advice or suggesting
When giving advice or suggesting what seemed to be the best solution in a given situation in the past (but probably did not happen), we use “should have” or “ought to have”:
You should have gone there straight away.
You ought to have spent more time with your family.
When talking about past mistakes
We use should have to talk about past mistakes.
I was so worried about you. You should have called!
Commonly used in apologies
I’m sorry that I’m late for work. I should have woken up earlier.
WOULD + HAVE + PAST PARTICIPLE
Would have is a bit more difficult because it has two common structures. The first is with but.
1. To talk about something you wanted to do but didn’t
I would have gone to the party, but I was really busy.
I would have called you, but I didn’t know your number.
I would have loaned you the money, but I didn’t have any.
2. Part of the third conditional
If I had had enough money, I would have bought a car
If I had known they were vegetarians, I would have made a salad.