Грамматические правила, определяющие использование couldn't have и can't have, заключаются в следующем:
- Can't have подразумевает, что что-то произошло недавно. 1 Например: «You can't have seen John this morning. He wasn't at work» — «Ты не мог видеть Джона сегодня утром. Он не был на работе». 1
- Couldn't have указывает на более раннее происшествие. 1 Например: «You couldn't have done anything. You were just a child» — «Ты не мог ничего сделать. Ты был всего лишь ребёнком». 1
Также can't have может использоваться для выражения отрицательного обязательства или разрешения в настоящем времени, в то время как couldn't have не несёт такого значения. 2