1 couldn't have done 表示本来不可能做某事 却做了
might not have done 本不可能做某事却做了
2 must have done 是一种极强的肯定 “必定 已经做了某事” 达到确定的地步
can have done 可能已经做了某事情[可能性适中](不虚拟 即不等于could have done )
may have done 可能已经做了某事情(可能性最小)
3 对未来的推测 在主句中 would (could should might ) do 从句要 将谓语动词be等过去化 即 are 改 were 等
例如 If it were Sunday tomorrow,I should (would,could,might) go to see my grandmother.如果明天是星期天,我就(可能)去看望我奶奶
但也可以表示 “他可以做.” 请根据语境
4 can you go home 你能够回家吗?不表推测
