現在の事実に反する仮定や過去の事実に反する仮定を仮定法で表す。
仮定法とは、現実と異なる状況を想像して話す表現です。
現実とは異なる状況を想像して話すときに使う表現です。
仮定法過去は「もし今〜だったら」、仮定法過去完了は「もしあの時〜だったら」と、事実に反する仮定を表します。
時制を1つ過去にずらすことで「これは現実ではない」というニュアンスを表現します。
文法ルール
仮定法過去は「If + 主語 + 過去形 ..., 主語 + would/could/might + 動詞の原形 ...」の形で、現在の事実に反する仮定を表します。「もし今〜だったら、〜だろうに」という意味です。be動詞は主語に関わらずwereを使うのが正式で、時制は過去形ですが意味は現在の仮定です。
例文
If I were rich, I would travel around the world.
もしお金持ちだったら、世界中を旅行するのに。
解説: 仮定法過去の基本形。I wereでbe動詞はwereを使い、主節にはwouldを使います。
If I had more time, I could travel around the world.
もっと時間があれば、世界中を旅行できるのに。
解説: couldを使った例。「〜できるだろう」という意味で、実際には時間がない状況。
I wish I were taller.
もっと背が高ければいいのに。
解説: I wishを使った仮定法過去。現在の願望を表し、実際には背が高くない状況。
文法ルール
仮定法過去完了は「If + 主語 + had + 過去分詞 ..., 主語 + would/could/might + have + 過去分詞 ...」の形で、過去の事実に反する仮定を表します。「もしあの時〜だったら、〜だっただろうに」という意味で、今となっては変えられない状況を表します。
例文
If I had studied harder, I would have passed the exam.
もっと勉強していたら、試験に合格していただろうに。
解説: 仮定法過去完了の基本形。実際には勉強しなかったので不合格だった過去の状況。
If you had told me earlier, I could have helped you.
もっと早く言ってくれていたら、手伝えたのに。
解説: could have + 過去分詞で「〜できただろうに」。実際には早く言われなかったので手伝えなかった。
I wish I had studied harder.
もっと勉強しておけばよかった。
解説: I wishを使った仮定法過去完了。過去の後悔を表し、実際には勉強しなかった。
文法ルール
直説法は「実際に起こりうる条件」を表し、「If + 現在形, will + 原形」の形を使います。仮定法は「事実に反する想像上の条件」を表し、時制を過去にずらすことで非現実を示します。直説法は可能性がある未来、仮定法は現実ではない状況を表す点が違います。
例文
If it rains tomorrow, I will stay home.
明日雨が降ったら、家にいます。
解説: 直説法(現実的な条件)。雨が降る可能性があり、その場合の実際の行動を述べています。
If it rained tomorrow, I would stay home.
もし明日雨が降ったら、家にいるのに。
解説: 仮定法過去(非現実的)。雨は降らないと思っているが、もし降ったらという仮定。
If I have time, I will help you.
時間があれば、手伝います。
解説: 直説法。時間ができる可能性があり、その場合は実際に手伝うという意味。
If I was rich, I would buy a car.
If I were rich, I would buy a car.
解説: 仮定法では主語に関わらず were を使う(正式)
If I studied harder, I will pass.
If I studied harder, I would pass.
解説: 仮定法過去では would + 原形を使う
I wish I have a dog.
I wish I had a dog.
解説: I wish の後は仮定法を使い、現在の願望は過去形
If I would have known, I would have come.
If I had known, I would have come.
解説: if節には would は使わない。had + 過去分詞を使う