質問: ifの名詞節 do you know if it will be fine tomorrow? は、名詞節の中は未来形です(問題集より)。 では、「今日晴れるかどうかあなたは知っていましたか」の場合は did you know if it would be fine today? でしょうか?今日のことを言っているので did you know if it is fine today? かなとも思いましたが、時制の一致の関係でやっぱり違いますよね? また、「あなたは昨日沖縄は晴れだったかどうか知っていますか」は do you know if it was fine in okinawa yesterday? で、合ってますか? 名詞節はその前の動詞の時制が過去だったら名詞節も過去にするけど、その前の動詞が現在の時制の場合は名詞節は過去にも現在にでも未来の時制にもなりうる、という理解、あってるのでしょうか? 自信ないので自信ある方、教えてください。よろしくお願いします。
回答: こんにちは。8/17のご質問ではご丁寧なお返事を有難うございました。 ご質問1: <「今日晴れるかどうかあなたは知っていましたか」の場合は did you know if it would be fine today? でしょうか?> 非常に特殊な場合に可能です。つまり、会話をしている時間が今日の夜中などで、今日晴れるかどうかまだわからない場合に使えます。 通常の用法では下記のように訂正が必要です。 1.did you know if(x)→did you know that(o)になります。 2.名詞節になるif「~かどうか」は未定の内容を尋ねる場合に使います。確定の事実について用いる時は、ifではなくthatを用います。 3.ここでは、「今日晴れている」という現在の事実がありますから、ここではthatを使うのが正しいのです。また、時制も現在の事実を表す現在形isが使われます。話している時点(現在)から見て「今日」は現在だからです。従って訂正例は、 did you know that it is fine today? 「今日晴れることを、知っていましたか?」 となります。 4.しかし、上記で述べたように、「未定の内容」について過去時制で尋ねる場合は、if節+助動詞の過去形で使うことが可能です。 例: i didn't know that it is fine today. 「今日晴れることは知らなかった」 既に晴れという事実があるので、断定を表すthat節+現在時制が使われます。 i didn't know if it would be fine tomorrow. 「明日晴れるかどうかは、知らなかった」 今日からみて明日についての言及ですが、明日晴れると予想されていても、やはり未来のことなので事実として存在しない以上、未来形willを使い、時制の一致に伴いwouldになります。 i didn't know that it would be fine tomorrow. 「明日晴れるということは、知らなかった」 これも今日からみて明日についての言及ですが、明日晴れることがほぼ確実の場合は、未定を示唆するifではなく、断定を示唆するthat節が使われます。 ご質問2: <did you know if it is fine today? かなとも思いましたが、時制の一致の関係でやっぱり違いますよね?> 1.名詞節になる接続詞if「~かどうか」は、未来のことについて言及する場合は、未来時制を表す助動詞と一緒に使われるので、現在形との使用では間違いになります。 2.この文だとifをthatにすれば正しくなります。 ご質問3: <また、「あなたは昨日沖縄は晴れだったかどうか知っていますか」は do you know if it was fine in okinawa yesterday? で、合ってますか?> これは明らかに間違いになります。理由は、過去の事実が存在するので、未定のifではなく断定のthatを使うのが正しい用法になります。 訂正例: do you know that it was fine in okinawa yesterday? 「昨日沖縄は晴れだったことをご存知ですか?」 ご質問4: <名詞節はその前の動詞の時制が過去だったら名詞節も過去にするけど、その前の動詞が現在の時制の場合は名詞節は過去にも現在にでも未来の時制にもなりうる、という理解、あってるのでしょうか?> いいえ。以下のような例外があります。 1.「名詞節はその前の動詞の時制が過去だったら名詞節も過去にするけど」: (1)話している時点との関係により、例外が生じます。 例: i knew that it is fine today. 「今日晴れだと知っていた」 話している時点(現在)から見ると、「知っていた」のは過去、「今日晴れている」のは過去から見れば未来ですが、話している時点から見ると現在なので、節の中の時制は現在形になるのです。 (2)節の中の時制が現在の事実、習慣など。 例: i didn't know that you like him. 「あなたが彼を好きだなんて知らなかった」 i didn't know that you go to the library every day. 「あなたが毎日図書館に行ってるなんて知らなかった」 2.「その前の動詞が現在の時制の場合は名詞節は過去にも現在にでも未来の時制にもなりうる」: 自由変化に時制の変化が可能という意味ではなく、動詞や節の種類によって使える時制が決まっているものもあります。 (1)節の内容が歴史的事実なら、節の中の時制は時制の一致を受けず、常に過去形になります。 例: i know that columbus discovered america. i knew that columbus discovered america. he will know that columbus discovered america. 「彼は(いつか)コロンブスがアメリカを発見したことを、知るだろう」 (2)wishなどの動詞は、節の中は仮定法過去、仮定法過去完了が使われ、現在形は通常使われません。(口語は例外もあり) 例: i wish i were rich. 「金持ちだったらなあ」 ご質問5: <「あなたはきのう沖縄が晴れるかどうかと(昨日より前に)知っていましたか」の場合だと had you known if it would be fine in okinawa yesterday? で合ってますでしょうか。> 1.まず「昨日は沖縄は晴れていた」は過去の事実なので、ifではなくthat節になります。(上記質問3参照) 2.この質問を尋ねている時点が現在なら、現在における過去は過去時制になりますから、did you know~?で結構です。 2.過去完了時制は、間接話法などで主節が過去形の場合、話の内容が主節より前の場合などで使います。 例: i asked him if he had known that~? 「~を知っていたかどうか、尋ねた」 ここでは、「知っていた」は「尋ねた」より前の出来事になります。 長くなりましたが、以上ご参考までに。 ps:英語の基礎が着実に築かれているようですね。頑張って下さい。