助動詞には過去形がないものもあります。そこで、過去形のない助動詞で、過去のことを現在から推量等するときは、「助動詞+have+過去分詞」を使います。これを例文を使いながら確認していきましょう。
「助動詞+have+過去分詞」には「今から考えると…」の気持ちが入っている。
過去のことへの推量
must have+過去分詞 / (今から考えると) ~だったに違いない
We must have taken the wrong road.
私たちは道を間違えたに違いない。
私たちは道を間違えたに違いない。
may have+過去分詞 / (今から考えると) ~だったかもしれない
He may have missed the plane.
彼は飛行機に乗り遅れたかもしれない。
彼は飛行機に乗り遅れたかもしれない。
cannot have+過去分詞 / (今から考えると) ~だったはずがない
He cannot have told a lie to me.
彼が私にうそを言ったはずがない。
彼が私にうそを言ったはずがない。
should (ought to) have+過去分詞 / (今から考えると) ~すべきだった
I should have been more careful.
もっと注意するべきでした。
もっと注意するべきでした。
must / may / should には過去形がないので、「助動詞+have+過去分詞」の形になると考えてもいいですかね。でも、can には could という過去形がありますよね。それじゃダメなんですか。
could not ~ は「~できなかった」で、cannot have ~ は「~だったはずがない」となります。意味が違いますよ。
過去のことへの後悔・非難
should have+過去分詞 / (今から考えると) ~すべきだったのに
I should have been more careful.
もっと注意するべきだったのに。
もっと注意するべきだったのに。
need not have+過去分詞 / (今から考えると) ~する必要はなかったのに
You need not have bought such an expensive book.
そんなに高価な本を買う必要はなかったのに。
そんなに高価な本を買う必要はなかったのに。
これはいわゆる「反語」というやつです。言い方や、話の流れで意味を考える必要があります。
コメントをどうぞ