We can use modal verbs in the past by combining them with have + past participle.
We use must have + past participle to indicate certainty that something happened when we cannot prove it.
We use can’t have + past participle to indicate certainty that something did not happen when we cannot prove it. It is the opposite of must have. Notice how similar it is the Portuguese meaning (E.g., Não pode ter sido difícil - It can’t have been difficult).
May have / might have / could have
We use may have, might have or could have to indicate a possibility that something happened, but we are not certain about it. Notice the similarity to Portuguese (E.g., pode ter esquecido - might have forgotten).
We use should have + past participle to express a recommendation about a past situation. This structure is also very similar to its Portuguese equivalent (E.g., deveria ter comido - should have eaten).
|How to use 'must have', 'might have', 'should have' and 'could have'.||BBC Learning|