这里为何用shouldn't have received?

有读者问: 有这样一句话:

(1)Mary shouldn't have received my letter; otherwise she would have replied before now.

这里为什么不用couldn't have received而用shouldn't have received?

should在此亦表“可能”,但不似could那么肯定。“should have+过去分词”表“可能”或“大概”的情况并不罕见,除上述句(1)外,再如:

(2)John should have left by tomorrow.

(3)Have you heard from Maria? She should have started her job on Monday.

(4)Lest you should not have heard all, I shall begin at the beginning.

顺便说一下,“should have+过去分词”还可以表“竟然……”和“应该……”等,例如:

(5)It is strange that he should have done it.

(6)The task should have been completed before the meeting.