• ベストアンサー

文法の質問です。

He left just now, so he cannot have gone so far . cannot have gone の部分をwould have goneとしてはいけない理由なんですが、 would have goneにすると、仮定法過去完了となってしまい、「行ってなかっただろう」と なるから使えないのでしょうか? 使えない理由がいまいちよくわかりません。 また、would~や would have 過去完了 は仮定法でしか用いない表現なのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ivallo
  • ベストアンサー率29% (63/215)
回答No.6

ivalloです。 推量のwouldで引っ掛かっているんですね。 wouldはたしかに、日本語訳にすると「~だろう」となる時があります。 ですが、同じ「~だろう」であっても、canとでは、違った意味で使っているのです。たとえば、 It will be rainy tomorrow. 明日は雨だろう。 これは、「未来」において雨になると推量しているわけです。 それがwouldでは I believed it would be rainy next day. 次の日は雨だろうと信じていた。 「過去のとある時点において」「未来」に雨になると推量しているわけです。 これがcanやmustの推量では違った感じになります。 The baby can be hungry. 赤ちゃんはお腹がすいているのだろう(かも知れない)。 The baby must be hungry. 赤ちゃんはお腹がすいているのだろう(に違いない)。 これは、「現在」における推量です。will,wouldでは現在における推量ができません。ここが大きく違います。 では、問題文の場合はどうかといえば、 He left just now, so he xxx not have gone so far . He has not goneというのは、彼は現在、遠くに行っているかいないのかと推量しているわけです。 あくまでも、willは未来の推量、wouldは過去における未来の推量と覚えて下さい。 ちなみに、下の方がいわれている控えめな推量は、(受験英語では覚える必要はないですが、)条件節の意味がどこかに隠されている場合に使われます。仮定法の変種みたいなものです。 How much would you take for this? =How much would you take for this if I bought it from you. これはどのくらいするでしょうか? Anyone would have thought that. =Anyone would have thought that if they stayed there. 誰でもみなそう思ったでしょう。 It would be a shame to stay at home on such a fine day. =It would be a shame if you stayed at home on such a fine day. こんな天気のいい日に家にいるなんて恥ずかしいでしょう。

Love1001
質問者

お礼

ご回答をありがとうございます。 >推量のwouldで引っ掛かっているんですね。 そうなんです・・・困り果ててました。 しかし、具体的な文章や用法で示していただき、おかげさまで感覚もわかるようになりました。

その他の回答 (6)

noname#27172
noname#27172
回答No.7

#5です。 問題集の文が何か不自然な気がします。 wouldn't have goneはどうでしょうかね?wouldは過去の視点から未来を表す時に使います。この場合は現在の視点ですので must have goneでしょう。 過去未来は wouldで表され、未来完了はWill have+過去分詞 で表されます。それに 過去未来完了形はあまり見ない表現です。

Love1001
質問者

お礼

ご回答をありがとうございます。 >この場合は現在の視点ですので must have goneでしょう。 この文が現在の視点だということがよくわかってなかったのもあり、悩んでましたが、 wouldの用法も合わせて考えるとmust have goneとなるのも頷けますね。 なるほど~。

noname#27172
noname#27172
回答No.5

この文は He left just now, so he wasn't able to go so far. という方が普通ではないでしょうか? would have goneは過去未来完了形になり、過去の時点で ある動作が完了しているだろうという推測になりますから He left just nowとは意味的にかみ合わなくなります。

Love1001
質問者

補足

ご回答をありがとうございます。 >この文は He left just now, so he wasn't able to go so far. という方が普通ではないでしょうか? 問題集の問題と答えをそのまま載せただけですので、わかりません。 しかし、なぜそう考えられるのか知りたいです。 あと、例えば「行ってないだろう」woudn't have goneはどうでしょう? こうすれば意味も通じるし、用いることができるような気もするんですが。

  • adjective
  • ベストアンサー率17% (241/1356)
回答No.4

He left just now>(彼はついさっき出発した) so >(なので) he >(彼は) ????>(?) so far.>(そんなに遠くに) ?は”行った”ではなくて ”行っていない。” ”行けるはずない。” という助動詞の問題のように思えます。

Love1001
質問者

お礼

ご回答をありがとうございます。 例えば「行ってないだろう」woudn't have gone でも通じないですか?

回答No.3

>He left just now, so he cannot have gone so far . >cannot have gone の部分をwould have goneとしてはいけない理由なんですが、 >would~や would have 過去完了 は仮定法でしか用いない表現なのでしょうか? would have 過去分詞 ですが仮定法の他、未来完了としての意味もあります。 will have 過去分詞 I will have finished my homework by the evening. [夜までには宿題を終えているだろう] He said "I will have finished...." →He said that he would have finished... となります。 We will have lived here for ten years by next month. [来月で私たちはここに10年住んでいる事になります] would have goneだけでは仮定法で過去の事実と違う仮定を表します。 (意志を含んで)...しただろうに、(意志を含まず)....だったろうに、となります。 He would have gone so far. [彼はそんなに遠くに行かなかっただろうに] となって、He left just now.の文章と合いません。 また、ifがなく、条件節を伴わない場合でも Who would have thought a thing like that? [誰がその様な事を考えていただろうか?] の様な用法はあります。 ....だったろうに、.....だろうか、と云う意味になり 文脈から明らかな場合、裏に含まれた条件を推定出来る場合は条件節を省略する事があります。 また、wouldは控えめな推定・意向を表す用法もあります。 It would seem to be wrong. [どうもそれは間違っている様です] She would have been about 80 when she died. [彼女が亡くなった時、多分80歳位だったでしょう] この用法を使えないか、との事ですね。 He left just now,so he cannot have gone so far. [彼はたった今出かけた。だから、そんなに遠くに行っていないはずだ] He left just now,so he would have gone so far. [彼はたった今出かけた。だから、多分そんなに遠くに行かなかったでしょう] He left just now.[彼はたった今出かけた]という事実から今現在の事を推量していますので、文章的に合わないと思います。意味が通じるのは[だからそんなに遠くに行っていないはずだ]という可能性・推量を表す助動詞canが適切だと思います。

Love1001
質問者

補足

ご回答をありがとうございます。 例えば、cannot have gone ではなく、wouldn't have goneでもダメですか? wouldn't have gone「(そんな遠くへは)行ってないだろう」と日本語で訳してもおかしくはない と思うのですが・・・。

  • ivallo
  • ベストアンサー率29% (63/215)
回答No.2

he cannot have gone so far の部分ですが、これは推量のcanですね。 さて、この文は、 He left..という過去の状況に基づいて 現在(I think) he cannot have gone so far. と、推量しているわけです。 would(will)には推量の意味がありませんので、全く使えません。未来の推量で使う文には可能性はありますけど、この例文ではダメですね。 I will have cooked dinner by 6 o'clock. (6時までには晩ご飯ができますよ。) I thought I would have finished my homework by Friday. (金曜日までには宿題が終わると思った。) のように、未来・過去の話の中の未来における完了で使います。 それから、仮定法はあくまでも、if~の部分があってからですね。 If he left Kyoto yesterday, he would arrive home now. If he left Kyoto two days ago, he would have arrived home yesterday. というように使います。

Love1001
質問者

補足

ご回答をありがとうございます。 wouldは~だろうですよね?推量の意味には入らないのでしょうか?

noname#143799
noname#143799
回答No.1

こんばんは。 意味的におかしくなるからではないでしょうか。 問題文は、 「彼はたった今出発した、だから彼はそんなに遠くに行ってしまってるはずがない。」 という意味の文で、 もしwould have goneだったら、 「彼はたった今出発した、だから彼はそんなに遠くに行ってしまっただろう。」 となって、意味として前後が通じなくなるのではないかな。

Love1001
質問者

お礼

ご回答をありがとうございます。 日本語で考えたらほんと、おかしいですよね。 それに気づいてませんでした。

関連するQ&A