仮定法とは?―現実から離れるために過去形を使う仕組み

仮定法過去・仮定法過去完了の仕組みを、「過去形=現実からの距離」という核心イメージから解説。条件文との違いから、時制がずれる理由まで丁寧に整理します。

次の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 timeIf I had time
If it will rain tomorrowIf it rains tomorrow
If I had time yesterday(過去の話)If I had had time yesterday

次に読むとよい記事