今回は「もし~がなかったならば」と仮定した表現を見てみましょう。
「if it were not for ~」「if it had not been for ~」というちょっと長い構文を使いますが、身構えなくて大丈夫です。覚えればそのまま使えて、for の後には名詞を1つ入れればいいだけです。
ここでは「仮定法過去」「仮定法過去完了」について理解されていることを前提でお話ししますので、まだ不安な方は「英検準2級 仮定法過去」「英検準2級 仮定法過去完了」を先にご覧ください。
まず
If it were not for music, life would be boring.
「もし音楽がなかったら、人生は退屈だろう」
という英文です。
「if it were not for ~」で「(今)~がなければ」という意味です。ここから主語や動詞を変化させることもないので、ちょっと長いですがこのまま覚えておきましょう。
If it were not for music「もし音楽がなかったら」といっても、実際には音楽は存在しています。つまり「現実とは違うこと」を仮定しているので、仮定法を使っています。
it were と過去形を使っていますので「If it were not for ~」という if 節は「仮定法過去」ですね。
life would be boring「人生は退屈だろう」も「would + 原形動詞」ですから「仮定法過去」です。
つまり「(今)もし音楽がなかったら、(今の)人生は退屈だろう」ということです。
「I wish ~」や「as if ~」の文とは違い、主節の時制との差などは気にする必要はありません。「仮定法過去の場合は現在の事実と違うことを表す」という基本のまま使えば大丈夫です。
次に
If it had not been for her goal, we would have lost.
「彼女のゴールがなければ、私たちは負けていたでしょう」
という英文です。
「if it had not been for ~」は「(過去に)~がなかったならば」という意味です。「if it were not for ~」同様、6語をこのまま覚えておいてください。for の後に名詞を入れるだけで if 節は完成します。
「If it were not for ~」は it were と過去形を使っていましたが、今回の「If it had not been for ~」は had not been と過去完了形を使っていますね。つまり「仮定法過去完了」となります。
実際には「彼女はゴールを決めた」ので「過去の事実とは違うこと」を仮定しています。
帰結節の「we would have lost」も「would have + 過去分詞」で仮定法過去完了の形ですね。
つまり「(あの時)もし彼女がゴールしなかったら、(あの時)私たちは負けていただろう」ということです。
仮定法の if は省略されることもあります。文語調ですが「if it were not for ~」「if it had not been for ~」の文ではわりとよく出題されます。テストや問題集で「カッコの数が足りない!」と思ったら「if の省略では?」と疑ってみてください。
If it were not for music, life would be boring.
の if の省略バージョンは
Were it not for music, life would be boring.
です。
ただ単に If を取っただけではないですね。
it と were の語順が入れ替わっています。
このように主語と動詞(または助動詞)の語順が入れ替わることを「倒置」といいます。
if を省略した場合は必ず「倒置」がおこります。
変わるのは if 節のほうだけなので、帰結節の life would be boring はそのままです。
If it had not been for her goal, we would have lost.
の If を省略すると
Had it not been for her goal, we would have lost.
となります。
これも同様に it と had が入れ替わって倒置が起こっていますね。
「if を省略した場合は主語と動詞(または助動詞)の語順が入れ替わる」
文法として覚えておくのはここだけです。
お待たせしました!
「if it were not for ~」と「if it had not been for ~」を使い分けなくて済むラクラクな方法の登場です。
「but for ~」で「(今)~がなければ」「(過去に)~がなかったならば」の両方が表せます。
But for your help, I would not finish my work.
「あなたの助けがなければ、私の仕事は終わらないだろう」
という現在の事実と違う仮定も表せますし、
But for the doctor, I might have died.
「もしその医者がいなかったら、私は死んでいたかもしれない」
のような過去の事実と違う仮定も表せます。
テストや問題集で「If it were not for」や「If it had not been for」を書き込みたいけれども、カッコが2つしかないのなら「But for」を思い出しましょう。
「but for ~」というラクな方法を紹介したばかりですが、もっと短く1語で済む方法もあります。
「without ~」でも「(今)~がなければ」「(過去に)~がなかったならば」の両方が表せます。
Without air, nothing could live on the earth.
「もし空気がなければ、地球上では何も生きられないだろう」
という現在の事実と違う仮定も表せますし、
Without you, our project wouldn't have succeeded.
「あなたがいなかったならば、私たちの計画は成功しなかったでしょう」
のような過去の事実と違う仮定も表せます。
「but for」や「if it were not for」「if it had not been for」との相互の書き換え問題などもテストに出題されますので、「without」が1番ラクですけれども、必ず全部覚えておいてくださいね。