「あの時もっと勉強していたら…」── 過ぎ去った出来事への後悔や空想を英語で表すには?
仮定法過去が「現在形→過去形」に1段ずらしたのと同じ原理で、
仮定法過去完了は「過去形→過去完了形」にさらに1段ずらします。
仮定法過去完了は、「過去の事実に反すること」を表す形です。 「あの時〜だったら、…だっただろうに」── 過ぎ去った出来事への後悔や空想を表すときに使います。
仮定法過去は「現在形 → 過去形」に1段ずらして現実との距離を作りました。
仮定法過去完了は「過去形 → 過去完了形」にさらに1段ずらします。つまり、過去の出来事からさらに距離をとることで、「過去の非現実」を表しているのです。
原理はまったく同じ── 本来の時制から過去方向に1段ずらす = 現実から距離をとる。それだけです。
仮定法過去:現在 → 1段過去へずらす → 「現在の非現実」
仮定法過去完了:過去 → さらに1段過去へずらす → 「過去の非現実」
どちらも「本来の時制から1段ずらす」という同じ原理です。
If + S + had + 過去分詞 ..., S' + would / could / might + have + 過去分詞 ...
「もし(あの時)Sが〜だったら、S'は…しただろうに / …できただろうに」
"If I had had more time" のように had が2つ続く形に違和感を覚えるかもしれませんが、これは正しい英語です。最初の had は仮定法過去完了の助動詞、2番目の had は動詞 have の過去分詞です。
仮定法過去と仮定法過去完了を整理しましょう。違いは「いつの非現実を語っているか」です。
| 仮定法過去 (現在の非現実) |
仮定法過去完了 (過去の非現実) |
|
|---|---|---|
| if節 | If + S + 過去形 | If + S + had + 過去分詞 |
| 主節 | S' + would + 原形 | S' + would + have + 過去分詞 |
| 距離の方向 | 現在 → 1段過去へ | 過去 → さらに1段過去へ |
| 例 | If I had money, I would buy it. | If I had had money, I would have bought it. |
仮定法過去完了の主節で、would のあとにさらに had を入れてしまうのは典型的なミスです。
✕ 誤:I would had helped you.
○ 正:I would have helped you.
would のあとには必ず動詞の原形が来ます。「have + 過去分詞」の have は原形です。had ではありません。
仮定法過去完了と聞くと、機械的に「if節も主節も過去完了」と考えてしまう学習者がいます。
✕ 誤:If I had studied harder, I had passed the exam.
○ 正:If I had studied harder, I would have passed the exam.
if節 = had + 過去分詞、主節 = would + have + 過去分詞。主節には必ず助動詞の過去形が入ります。
仮定法かどうかを見抜くには、主節の助動詞に注目するのが最も確実です。
主節に would / could / might があれば仮定法を疑い、次にif節の動詞の形を確認しましょう。
・would + 原形 → 仮定法過去(現在の非現実)
・would + have + 過去分詞 → 仮定法過去完了(過去の非現実)
仮定法過去完了の基本を学んだら、次のトピックへ進みましょう。
Q1. 仮定法過去完了はどんな内容を表す形ですか。
Q2. 次の英文の誤りを正してください。
If I had studied harder, I would had passed the exam.
Q3. 「仮定法過去」と「仮定法過去完了」は何が違いますか。
Q4. 次の英文は仮定法過去・仮定法過去完了のどちらですか。
If we had known your new address, we would have come to see you.
この記事で学んだ内容を、入試形式の問題で確認しましょう。
If we had known about his busy schedule, we ( ) the meeting.
④ would have put off
判断のポイント:if節が had known(had + 過去分詞)なので、仮定法過去完了と判断できます。
仮定法過去完了の主節は would / could / might + have + 過去分詞の形になります。④ would have put off が正解です。
「彼の多忙なスケジュールを知っていたら、会議を延期しただろうに(実際には知らなかった)」
If I ( ) more time then, I could have checked my report again.
④ had had
判断のポイント:主節が could have checked(could + have + 過去分詞)なので仮定法過去完了です。then(あの時)も過去を指すヒントです。
仮定法過去完了のif節は動詞の過去完了形(had + 過去分詞)を用います。haveの過去分詞は had なので、had had が正解です。
「あの時もっと時間があったなら、報告書をもう一度確認できたのに」
次の英文の下線部に誤りがあれば正しなさい。誤りがなければ「正しい」と答えなさい。
No one would have attended the meeting if you told the truth about the speaker.
told → had told
判断のポイント:主節が would have attended(would + have + 過去分詞)なので、仮定法過去完了と判断できます。
仮定法過去完了のif節は過去完了形(had + 過去分詞)を用いるので、told を had told に直す必要があります。
「あなたがその演説者の真相を話していたら、会議にはだれも出席しなかっただろう」