• ベストアンサー

仮定法について

My son would be fifty years old now if he (hadn't been killed) in the traffic accident. これはなぜif節が仮定法過去完了なんですか?would beときているので( )は(wasn't be killed)ではないんでしょうか?質問が下手ですいません。分かりやすく説明していただけると嬉しいです。

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

  • ベストアンサー
  • bobviv
  • ベストアンサー率50% (13/26)
回答No.3

 仮定法文というのは、平常if文に対して以下のような時制の変換を行うことによってできあがるものと考えてください(もちろん二つの文の意味は同じではありません)。  平常if文   →  仮定法    <現在形>  → <過去形>  <過去形>  → <過去完了形>  例文では、元の平常if文が My son will be fifty years old if he was not killed in the traffic accident.   だと推測されますので、これを仮定法文に変換すると、'will be'<現在形>が'would be'<過去形>になり、'was not'<過去形>が'had not been'<過去完了形>になるわけです。  一部、成句となっている言い回し(were toなど)を除き、仮定法とはあくまでも「時制の変換」によって出来るもので、決まった単語を当てはめればよいというものではありません。  bejiitaさんの'wasn't be killed'という理解は、仮定法構文を単語の当てはめと捉えた結果生み出される誤解でしょう。  単語の当てはめではなく、「時制の変換」をしてみてください。        

その他の回答 (6)

noname#20688
noname#20688
回答No.7

既に良回答が出ていますが、私は少し視点を変えて。 ご質問の文を仮定法でなく普通の仮定の文に直してみましょう。 My son is fifty years old now if he (hasn't been killed) in the traffic accident. ここでif節の動詞が現在完了になりますね。それで 現在完了が仮定法に置かれた為、過去完了のような形をとります。

  • Nao_F
  • ベストアンサー率24% (22/90)
回答No.6

条件部分と結果部分で想定されている時点が違うからです。 条件部分: 「今」なら過去形、「過去」なら過去完了形 結果部分: 「今」なら would (could, etc.)... 「過去」なら would (could, etc) have... 今回は条件部分が過去のことで、結果部分が今のことなので、このような形になります。 ANo.4 で「時制の一致という間違った学校教育」とありますが、私はちゃんとこれを学校で習いました。 ちなみに、妻は昔学校で「If I had been born sixty years ago」に続く文を自由に作れと言われて 「I would be sixty years old now」と答えたそうです(笑)。 先生の反応は「あなたにきいたのが間違いでした」だったとか(大笑)。

  • MrYoYoYo
  • ベストアンサー率33% (38/115)
回答No.5

大過去という解釈の仕方があります。 大過去 / 現在より過去の事を表すには過去を使いますが、過去より過去の事は過去完了で表します。 大過去は日本語にはない表現のしかたなので、戸惑うかもしれませんが、過去よりさらに過去を表す時の文法と解釈していいです。 もちろん過去完了を使わず、時間を表す副詞説などで表す場合もありますが、大過去は文法的に時間経過をはっきり表せます。 質問文の場合、 私の息子は今頃50歳になっていた。 もし、彼が交通事故で亡くなっていなければ。 交通事故に会って死んだのは、50になる前の話しなので、過去完了が使われるわけです。

  • ryu_chan
  • ベストアンサー率37% (69/186)
回答No.4

おそらく時制の一致という間違った学校教育の問題でしょう。 仮定法では、主文とif節の時制を合わせるというのを公式にしてしまえば、大概の 問題は正解になりますからね。 主文とif節が同じ時期なら同じ時制になりますが、そうでない場合もあります。 それがこの場合で、主節が現在、if節が過去と明らかに時制が違うので、時制の一致 という仮定法における便利な公式が使えない訳です。 そもそも、仮定法における時制の一致という法則は実はないのです。

  • nerdm
  • ベストアンサー率0% (0/2)
回答No.2

仮定法の公式でいえば、 if he wasn't be killed になりますが、 「交通事故で亡くなっっていなかったら、私の息子は今ごろ50歳だろうに」という意味を示す場合、 「交通事故にあった事実」が主節よりも過去だということを強調する必要があります。 なので、if節以後が過去完了、主節が過去になっているのだと思います。 ちなみに、「今ごろ50歳だったのに・・・」と、現在の事を言っているにも関わらず、過去形が使われているのは、「実は息子は今いないから」=仮定法過去 というワケです。 複雑ですが、頑張ってください。

  • large
  • ベストアンサー率25% (5/20)
回答No.1

事故で亡くなったのはいつでしょう 過去ですね? 過去のことを表すには仮定法過去完了を使います 事故で亡くならなければ今頃50歳だろうになぁ って、50歳であろうのは今ですよね? 今を表すのは仮定法過去です。 ってことで、条件は過去ですが、帰結は今です。 こういうことも仮定法では可能です こういう場合は普通の形どおりにならず、それぞれの形を組み合わせたパターンになってしまうのですね。 この逆も実はあるんですよ。ちょっとした応用パターンだと思ってください。