下の例文を見てください。
これは、現在、雨は降っていないのに、「もし今、雨が降っているならば」という現在の事実に反する仮定をしている文です。これが仮定法過去でした。
では、「もし昨日、雨が降ったならば」という過去の事実に反する仮定をしたい場合には、どうすればいいでしょうか。これが今日の課題です。
仮定法過去完了(過去の事実に反する仮定)
下の例文を見てみましょう。
これは、昨日、雨は降らなかったのに、「もし昨日、雨が降ったならば」という過去の事実に反する仮定をしている文です。これを仮定法過去完了といいます。
仮定法過去完了は、"If ~ "の部分の動詞を過去完了形にすることで、過去における仮定の意味を表します。(過去完了の説明を見たいときはここをクリック)
また、「もし~ならば、~だろう」という後半部分は、上の例文のようにwouldやcouldという助動詞と、その後にhave + 過去分詞という形を使って表します。例文をよく読んでパターンをつかんで下さい。
- If he had entered the room, He would have died.(もし彼がその部屋へ入ったら、彼は死んでいただろう)→(実際には部屋に入らなかったので死ななかった)
- If I had studied more
in my school days, I could have become a president.(学生時代にもっと勉強していれば、社長になれたんだが)→(実際には勉強しなかったので、社長になれなかった)
- If you had driven more carefully, you would not have broken your car.(あなたがもっと注意して運転していたら、車を壊すことはなかったのに)→(実際には不注意な運転をして、車を壊してしまった)
- If I had been healthy
those days, I could have played baseball.(あの頃私が健康だったら野球ができたんだが)→(実際には病気だったので、野球ができなかった)
注意!
仮定法過去完了で、動詞がhaveである場合 (例:もしあのとき私が100万円持っていたら...)
過去完了は had + 過去分詞 & have の過去分詞は had
したがってhaveの過去完了は
"had had ..." となります。
まだわかりにくい人のために
条件節:If I have a million yen,
(もし100万円あれば...)←(可能性がある場合)
仮定法過去:If I had a million yen,
(もし100万円あったなら)←(実際には持っていない)
仮定法過去完了:If I had had a million yen,
(あのとき100万円あったなら)←(過去の事実に反する仮定)