例題
次の英文の( )に入れるのに最も適当なものを、1~4のうちから一つ選べ
問1.
"Did your brother really lose the new pen you gave him?"
"Yes, he did. I wish ( ) to take better care of his things."
1. he'd learn 2. he'll have learned
3. he's learned 4. he's learning
問2.
The play was a lot of fun. I wish you ( ) there.
1. could be 2. could have been
3. have been 4. would be
解答・解説
I wish の後ろは「if節の中身」
I wish ~ とは、「~であれば(~であったならば)良いと思う」という願望を表す表現で、仮定法(仮定法過去、仮定法過去完了)とともに用います。「仮定法とともに用いる」ということは理解していても、仮定法の「if節(条件節)」と「主節(帰結節)」のどちらなのか?と混乱している人が多いようです。
結論としては、I wish の後ろには「if節の中身」が来ます。お馴染みの例文で確認してみましょう。
If I were a bird, I would fly to you.
(もし私が鳥だったら、あなたのところに飛んでいくのに)
↓
I wish I were a bird.(もし私が鳥だったらなぁ)
この2つの文をよく見比べてください。このように、I wish とは「もし~だったら」という願望の条件のみを述べて、その結果どうなるか?(例:「あなたのところに飛んでいく」)ということについては、省略し、聞き手の想像に任せる表現です。意味を考えれば、if節の中身が来ることは納得できるはずです。
慣れないうちは、I wish ~ の文を見たら、適当な主節の文、例えば that would be good などを補って考えるとよいでしょう。そうすれば、どちらが if節か主節か?と迷うことはなくなると思います。
【仮定法過去】
I wish I had a driver's license.((今)免許を持っていればなぁ)
↓
If I had a driver's license, that would be good.
(もし免許を持っていたら、それはいいことなんだけどなぁ)
【仮定法過去完了】
I wish I had had a driver's license.((あのとき)免許を持っていたらなぁ)
↓
If I had had a driver's license, that would have been good.
(もし免許を持っていたら、それはよかったんだけどなぁ)
if節にも助動詞が来ることがある!
ここで 例題1 について解説します。
問1. 正解 1
"Did your brother really lose the new pen you gave him?"
"Yes, he did. I wish (he'd learn) to take better care of his things."
1. he'd learn 2. he'll have learned
3. he's learned 4. he's learning
「あなたの弟は本当にあなたがあげた新品のペンを失くしてしまったのですか」
「はい。自分のものをもっと大切にするようになってくれればいいんだけど」
選択肢1 の he'd とは he would の短縮形です(he had ではないことに注意!もし he had だったら he'd learned となるはず)。would とは助動詞の過去形なので、この文は仮定法過去です。「I wish の後ろは仮定法」ということだけ覚えておけば、正解を選ぶことができるでしょう。その他の選択肢は、2=未来完了、3=現在完了、4=現在進行形 で、いずれも仮定法では使いません。例えば「仮定法現在完了」などありませんよね。
しかし、ここで以下のような疑問を持つ人がいるはずです。
「if節の中身に would って来るんだっけ?」
もっともな疑問です。たしかに、一般的に仮定法の公式は以下のように説明されます。
【仮定法過去】
If S V過去形 , S would V原形
例文:If I had time, I would go to see her.
【仮定法過去完了】
If S had p.p. , S would have p.p.
例文:If I had had time, I would have gone to see her.
このように、would(助動詞の過去形)が使われるのは、一般的には主節の方です。しかし、実は if節の方に助動詞を使ってはいけないというルールはありません。助動詞のニュアンスを入れたい場合、if節にも would や could など助動詞の過去形が使われることはあるのです。以下の2つの文を見比べてください。
If I were with you, I will never be blue.
(もしあなたと一緒にいれば、憂鬱にはならないだろう)
If I could be with you, I would never be blue.
(もしあなたと一緒にいることができれば、憂鬱にはならないだろう)
これらはどちらも正しい文です。上の文は「いる」という行為をフラットに述べていますが、下の文には 助動詞 can の可能のニュアンスが含まれています。そもそも元をたどれば、
If I can be with you, I will never be blue.
という直接法の文だって別に普通ですよね。であれば、If I could be ~ が言えるのも当然と言えます。ちなみに、were も could be もどちらも過去形ですので、これらはどちらも立派な「仮定法過去」です。
would についても同様です。ただし、こちらについては、ちょっと注意が必要です。
If he helped me, I would pay him.
(もし彼が私を手伝ったら、私は彼に金を払う)
If he would help me, I would pay him.
[= If he were willing to help me, I would pay him.
(もし彼が私を手伝ってくれたら[手伝う意志があるなら]、私は彼に金を払う)
下の文では would が、単なる「未来」ではなく、「意志」の意味で使われています。be willing to と同義と考えると分かりやすいでしょう。助動詞 will には「単純未来(~だろう)」と「意志未来(~するつもり)」の2つがあったことを思い出してください。つまり、この文は元々、単純未来の will を使った以下のような直接法の文から生まれています。
If he will help me, I will pay him.
ここで、きっと疑問を持つ人がいると思います。
「『時・条件の副詞節の中では未来のことも現在形』ではないのか!?」と。たしかに、多くの受験生は以下のような文を見慣れていると思います。
If he helps me, I will pay him.
もちろんこれは正しい文ですが、ここで注意しなくてはいけません。有名な『時・条件の副詞節では~』のルールを適用した If helps ~ という文は、「単純未来の will の代わりに現在形」を使っているのであって、意志未来 の will は副詞節の中で使ってよいのです。ちなみに、この手の文法問題では、いつも「現在形」が正解になりますが、いずれも、以下のように単純未来の文脈になっているはずです。
If the bus (arrives / will arrive) late, you will miss your train to Yokohama.
(もしバスが遅れて到着したら、横浜行きのバスに乗れないだろう)
※バスに意志はないので「意志未来」はありえない
私の知る限り、意志未来の will が正解になる文法問題を見たことはありません。もし出たらなかなかの難問と言えます。もし単純未来と意志未来、どちらともとれるようだったら、それは悪問です。
さて、設問に戻りますが、ここまで説明した通り、以下の文が成り立ちます。
If he would learn to take better care of his things, that would be good.
[= If he were willing to learn to take better care of his things, that would be good.]
(もし彼が自分のものをもっと大切にすることを身につける意志をもってくれれば、それはよいことだ)
よって、
I wish he would learn to take better care of his things.
という文も成り立つことになり、これが正解になります。
if節に助動詞を使ったときの仮定法過去完了は?
例題2 の解説です。
問2. 正解 2
The play was a lot of fun. I wish you (could have been) there.
1. could be 2. could have been
3. have been 4. would be
(その劇はとても面白かった。あなたもそこにいられればよかったのに)
ここまで説明したように、仮定法のif節には助動詞が来ることがあります。つまり、
If you could be there, that would be good.
(あなたがそこにいられれば、それはよいだろう)
という文を作ることができます。これは仮定法過去です。
それでは、この文を仮定法過去完了にしたかったらどうすればよいでしょうか?答えは以下の文です。
If you could have been there, that would have been good.
(あなたがそこにいることができたら、それはよかっただろう)
could という助動詞の過去形を過去完了形にすることはできません。そこで、could be を could have been に変える事によって、時制がもう一つ前になったことを表現するのです。主節の would be を would have been に変えるのと同じ要領ですね。
設問に戻ると、
The play was a lot of fun. I wish you ( ) there.
1. could be 2. could have been
3. have been 4. would be
は、前の文の was から、過去の話だと分かります。3 の have been は現在完了なので論外。1 と 4 はいずれも仮定法過去=現在のことなので却下。2 の could have been は、説明した通り、if節が仮定法過去完了になった形なので、これが正解になります。
「助動詞+have+過去分詞」という形は、いかにも主節(帰結節)の形に見えますが、この問題では「if節の中身」だということをよく理解しておいてください。