次の2つの英文を比べてみてください。
If I have time, I will help you.
(もし時間があれば、手伝います)
If I had time, I would help you.
(もし時間があったら、手伝うのですが)
どちらも「時間があれば手伝う」という内容ですが、ニュアンスは大きく異なります。上の文は、時間があるかどうか実際に分からない、五分五分の話。下の文は、「今、実際には時間がない」という前提のもとで、「もしあったなら」と想像している話です。
不思議なのは、どちらも意味している時間は「今」のはずなのに、下の文だけ had という過去形が使われている点です。過去の話をしているわけではないのに、なぜ過去形が出てくるのでしょうか。
この仕組みが仮定法です。would の記事で触れた「過去形=現実から距離を置く」という考え方を、ここで正面から使います。仮定法とは、時制の形を一段階ずらすことで、「これは現実の話ではない」という距離感そのものを表現する仕組みなのです。
仮定法の成り立ち―過去形は「時間」ではなく「距離」を表す
助動詞シリーズで、次のような核心イメージを確立しました。
過去形(could/might/would)=現実から距離を置く
たとえば Would you help me? は Will you help me? よりも控えめで丁寧な響きを持ちます。これは、過去形にすることで「今、目の前の現実」からわずかに距離を取り、断定を避けているためでした。
仮定法は、この「過去形=距離を置く」という発想を、動詞全体・文全体に広げたものです。
I have time.(現在の事実:時間がある)
If I had time, ...(過去形にして、現実から距離を取る=「実際にはない」という前提)
had という形そのものは過去形ですが、表しているのは過去の出来事ではありません。「今、現実にはそうではない」という現実からの距離を、時制を一つ過去にずらすことで表現しているのです。時間の話ではなく、現実度の話だと捉えると、この一見奇妙な仕組みが腑に落ちます。
仮定法過去―現在の事実に反する仮定
現在の事実に反することを仮定するとき、If節の動詞を過去形にします。
If I had time, I would help you.
(もし今、時間があったら手伝うのに=実際には時間がない)
If I were you, I would accept the offer.
(もし私があなたなら、その申し出を受け入れるのに=実際には私はあなたではない)
主節(帰結を述べる側)には、would / could / might のような助動詞の過去形が使われます。ここでも「過去形=距離を置く」が生きています。will ではなく would を使うのは、「これから確実に起こる」という近い現実ではなく、「もし〜だったら、という想像上の話」として一歩距離を取っているからです。
なお、be動詞の過去形は、仮定法では主語の人称にかかわらず were を使うのが伝統的な形とされています(If I were you のように)。口語では was も広く使われますが、書き言葉や、より格式ばった場面では were が好まれます。
仮定法過去完了―過去の事実に反する仮定
過去の事実に反することを仮定するときは、現在の事実に反する仮定法過去よりも、さらにもう一段階、時制を過去にずらします。
If I had studied harder, I would have passed the exam.
(もっと熱心に勉強していたら、試験に合格していたのに=実際には熱心に勉強しなかった)
If節は had + 過去分詞(過去完了形)、主節は would + have + 過去分詞という形になります。
考え方は仮定法過去とまったく同じです。「現在の事実」から距離を取るには過去形(had)を使いましたが、「過去の事実」から距離を取るには、その過去よりもさらに前の時点を表す過去完了形(had + 過去分詞)を使うことで、距離をもう一段深めているのです。
| 仮定する内容 | If節の形 | 主節の形 | |
|---|---|---|---|
| 仮定法過去 | 現在の事実に反する仮定 | 過去形 | would / could / might + 原形 |
| 仮定法過去完了 | 過去の事実に反する仮定 | had + 過去分詞 | would / could / might + have + 過去分詞 |
「現実からどれだけ離れているか」を、時制の形の古さで表す——これが仮定法という仕組みの正体です。
なるほどコラム: 仮定法(subjunctive mood)という名前の “mood”(法)は、文法用語としては「話し手の心的態度」を表す概念です。事実をそのまま述べる直説法(indicative mood)に対し、仮定法は「事実ではない、想像上のこと」を述べるための特別な形として、古くから多くの言語に存在してきました。英語では歴史的に仮定法専用の動詞変化がありましたが、時代とともに単純化され、過去形・過去完了形を「転用」する形で仮定法を表すようになったのが現代英語の姿です。
条件文(直説法)との違い
「if」を使う文には、これまで見てきた仮定法のほかに、実現の可能性がある事柄を述べる**条件文(直説法)**があります。両者は形も意味もはっきり異なります。
If it rains tomorrow, I will stay home.
(もし明日雨が降ったら、家にいます=実際に起こりうる話)
If it rained tomorrow, I would stay home.
(もし明日雨が降ったら、家にいるのですが=話し手は雨が降らないと思っている)
上の文(条件文)は、現在形 rains を使い、「五分五分、あるいは十分あり得る」という前提で話しています。下の文(仮定法)は、過去形 rained を使うことで、「実際にはそうならないだろう」という距離を示しています。
同じ if でも、動詞の時制が「今起きていることの延長」なのか、「現実から切り離された想像」なのかで、使う形が変わるのです。
| 条件文(直説法) | 仮定法過去 | |
|---|---|---|
| 前提 | 実現の可能性がある | 現実に反する(または可能性が低いと話し手が思っている) |
| If節 | 現在形 | 過去形 |
| 主節 | will / can / may など | would / could / might |
| 例 | If it rains, I will stay home. | If it rained, I would stay home. |
この違いを見極める最大のポイントは、「話し手が現実にどれだけ起こると思っているか」という主観です。文法上の形は、話し手の心の中の距離感をそのまま映し出しているのです。
仮定法の混合形―時制がずれる場合
If節と主節が、必ずしも同じ時間を指すとは限りません。過去の行動が、現在の結果に影響を与えている場合、If節は仮定法過去完了、主節は仮定法過去(現在の話)という混合形になります。
If I had studied medicine, I would be a doctor now.
(もし医学を学んでいたら、今頃医者になっていただろうに)
If節の had studied は「過去の事実に反する仮定」(=実際には医学を学ばなかった)を表し、主節の would be は「その結果としての、現在の状態に対する仮定」(=だから今、医者ではない)を表しています。
このように、If節と主節はそれぞれ独立して「どの時点の現実に対する距離を示しているか」を選ぶことができます。仮定法過去・仮定法過去完了という2つの型を、パーツとして自由に組み合わせられると理解しておくと、混合形にも柔軟に対応できます。
| If節 | 主節 | 意味 |
|---|---|---|
| 過去形(仮定法過去) | would + 原形 | 現在の事実に反する仮定 → 現在への影響 |
| had + 過去分詞(仮定法過去完了) | would + have + 過去分詞 | 過去の事実に反する仮定 → 過去への影響 |
| had + 過去分詞(仮定法過去完了) | would + 原形 | 過去の事実に反する仮定 → 現在への影響(混合形) |
つまずきポイント
① If節にも would を入れてしまう
誤:If I would have time, I would help you.
正:If I had time, I would help you.
日本語の「もし〜だったら」につられて、If節にも would を入れてしまう誤りが非常によく見られます。しかし would はあくまで「主節(帰結)」で使う助動詞であり、If節の役割は「現実から距離を置いた条件」を過去形(または過去完了形)で示すことです。If節に would は原則として入らない、と覚えておきましょう。
② 仮定法過去と仮定法過去完了の時制を混同する
誤:If I had time yesterday, I would help you.
正:If I had had time yesterday, I would have helped you.
yesterday(過去の話)をしているのに、仮定法過去(had time)のままにしてしまう誤りです。過去の事実に反する仮定であれば、If節は had + 過去分詞(had had)、主節も would + have + 過去分詞にする必要があります。「いつの事実に反しているか」を最初に確認し、そこから時制を1段階過去にずらす、という手順を踏むと迷いにくくなります。
③ 条件文(直説法)と仮定法を取り違える
If it will rain tomorrow, I will stay home.(誤り:If節にwillは原則不可)
If it rains tomorrow, I will stay home.(正:条件文はIf節が現在形)
条件文でも「未来の話をしているから未来形(will)を使いたくなる」という誤りがよく起こります。しかし英語の条件文・時・条件を表す副詞節では、未来のことでも If節の中は現在形で表すのが原則です。仮定法とは別のルールですが、If節の形に関する混同として一緒に整理しておくとよいでしょう。
④ be動詞の was と were の混同
やや口語的:If I was you, I would accept the offer.
伝統的な形:If I were you, I would accept the offer.
誤りとまでは言えませんが、仮定法過去のbe動詞は、主語の人称・数にかかわらず were を使うのが伝統的な規範です。フォーマルな文章や試験では were を使うことを基本にしておくと安全です。
まとめ早見表
核心イメージ
| 内容 | |
|---|---|
| 仮定法の本質 | 過去形にすることで「現実からの距離」を表す仕組み(時間ではなく現実度の話) |
| 距離が深いほど | 時制の形もより過去にずれる |
型の比較
| 仮定する内容 | If節の形 | 主節の形 | |
|---|---|---|---|
| 条件文(直説法) | 実現の可能性がある | 現在形 | will / can / may など |
| 仮定法過去 | 現在の事実に反する仮定 | 過去形(be動詞は were) | would / could / might + 原形 |
| 仮定法過去完了 | 過去の事実に反する仮定 | had + 過去分詞 | would / could / might + have + 過去分詞 |
| 混合形 | 過去の事実に反する仮定 → 現在への影響 | had + 過去分詞 | would / could / might + 原形 |
つまずきやすいポイントの再確認
| 誤り | 正しい形 |
|---|---|
| If I would have time | If I had time |
| If it will rain tomorrow | If it rains tomorrow |
| If I had time yesterday(過去の話) | If I had had time yesterday |
次に読むとよい記事
- 助動詞 would とは? 「過去形=現実から距離を置く」という、仮定法の土台となる核心イメージを解説しています。
- 助動詞とは?―判断を添える言葉 仮定法の主節で使われる would / could / might の基本的な意味を扱っています。