Мы используем must, may/might/could or can't/couldn't + have + 3 форма глагола, чтобы делать предположения о прошлом.
1. Must have + 3 форма = что-то 100% случилось.
I must have left my phone at Anna's. I definitely remember having it there.
Я должно быть оставила телефон у Анны. Я определенно помню его там.
2. Can't have + 3 форма = что-то 100% не случилось, это было невозможно.
She can't have gone to work. Her car's still here.
Она не могла уехать на работу. Ее машина еще здесь.
3. Couldn't have + 3 форма = что-то не могло случиться в далеком прошлом.
They couldn't have been married long. They both dies young.
Они не могли быть долго женаты. Она оба рано умерли.
4. Might/may + have + 3 форма = что-то вероятно случилось в прошлом.
Somebody might have stolen your wallet when you were getting off the train.
Кто-то мог украсть твой телефон, когда ты выходил из поезда.
He still hasn't arrived. I may not have given him the right directions.
Он все еще не приехал. Я мог не дать ему правильные направления.
5. Should have + 3 форма = нам следовало сделать что-то по-другому.
We've gone the wrong way. We should have turned right.
Мы поехали не по тому пути. Нам следовало свернуть направо.