こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

仮定法について

If you didn't hear the noise, you (must have been) sleeping at that time.
これはIf節が仮定法過去の文にも関わらず、帰結節は
must have beenと仮定法過去完了の形がきているのは
at that timeという「さらに過去」を示すからでしょうか?
分かりにくい質問ですいません。

投稿日時 - 2005-11-15 21:37:04

QNo.1781293

困ってます

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

これはNo.1, No.2の方がおっしゃるように、仮定法の文ではありません。過去の推測の文です。
mustはご存知のように「~に違いない」という推量を表しますが、今現在のことを表す時はたとえばYou must be a teacher.(貴方は教師に違いない)と言いますが、過去のことを今推測する場合はYou must have been a teacher.(貴方は以前教師だったに違いない)と、mustに続く本動詞は完了形を取ります。一見仮定法の形に見えますが仮定法とは無関係です。
mayも同様で、You may have been sleeping.なら「貴方は寝ていたのかも知れない」という意味になります。

また前半のif節も単なる条件をあらわす直説法です。If I said so,I apologize(もし私がそう言ったとすれば謝る)という場合のifと同種です。

文法書で助動詞mustの項を見ればmust+完了形という形が説明されていると思います。

投稿日時 - 2005-11-16 00:33:00

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(9)

ANo.9

どうも直接法のようです。

ある名高い参考書にif節の「開放条件」(直接法のif節のこと)の説明に次の例文があがっています(特に1に注目してください)。

1.And when did it happen? If it was last night, then it must have been several hours before you reported it.
(それで、時刻は? 昨晩の出来事であったとすると、訴え出るまでに、かなり時間が経過していますね。――『本日休診』)

2.Why? If it bothered you to have Mrs. Ota here, I apologize,…
(どうして悪いんでしょう。太田の奥さんの来ていたことがお気にさわったのなら、お詫びしますが、…――『千羽鶴』)

投稿日時 - 2005-11-16 19:35:11

ANo.8

みなさんの仰るようにif節が過去形になっているだけで、主節は現在形なので仮定法ではありませんね。もし仮定法なら mustがshouldになります。mustには過去形がないので shouldを使います。

投稿日時 - 2005-11-16 10:40:44

ANo.7

仮定法ではないです。文を補ってみました。
A:I didn't hear the noise. What could I have done?
B:If you didn't hear the noise, you must have been sleeping at that time.
過去の事なのにIf you hadn't heard the noise, とならないのは、BがAの言葉を事実と認めているからです。そして悔しいのでAに嫌みを言っているんです。

投稿日時 - 2005-11-16 07:43:26

ANo.5

外国語の勉強は、どうしても、型にはめて、最も一般的な用例を覚えることになるので、その一般的な用例から外れたものは、間違いではないか、と感じてしまいます。
しかし、多くの場合、間違えでないことが多いのです。


条件節が仮定法過去(現在に関する仮定)でも、帰結説が仮定法過去完了(過去に関する仮定)になることは論理によっては、というか、話者の視点と言うか、そういうものによって、ごく自然に起こります。

http://www.alc.co.jp/eng/grammar/faq/08_01.html#grammar0804

上の「アルクの英文法FAQ」の「8.4 if 節に過去形、主節に完了形」をおよみになれば、納得がいくでしょう。

なお、No.4で、must have been よりも、
you would/could have been sleeping at that time.
のほうが、帰結節としては適当だと言われていますが、自分もそう感じます。

まあ、話者の気持ちが、話している最中に、「そうに違いない」と言う方向へ傾いたと言うことでしょうね。

投稿日時 - 2005-11-15 22:59:41

ANo.4

zak

>If you didn't hear the noise, you (must have been) sleeping at that time.

どちらかの節が不適切です。

これは、何処から引用したか不明ですがよく見かけるifの適切でない口語的用法です。文法的に正しくは:
Since/Because you didn't hear the noise, you must have been sleeping at that time.

とすべきです。

mustは、通常、仮定法よりも何か事実の理由を示して強い推量を表す場合かまたは単独で多く使われます。
(アメリカ人によってはちがうかもしれません、いろんな人がいますから)

もし仮定法なら、単に:
you would/could have been sleeping at that time.
とするのが適切かと思います。

以上の説明を受験目的で適用しないで下さい。

投稿日時 - 2005-11-15 22:35:58

ANo.3

これは仮定法だと思います。
「もし君が音を聞いていなかったら、君はそのとき寝ていただろう」ということは、実際は聞いてしまったので、仮定法過去ですね。
音を聞いていなければ、目を覚ますこともない。つまり、音を聞く前にすでに寝ているから、must have been は if節よりさらに過去になるのです。

投稿日時 - 2005-11-15 22:05:48

ANo.2

No.1 さんがおっしゃるとおり、これは仮定法ではありません。
確信を持って過去のことを述べている条件文です。
「その音を聴いていなかったとしたら、君はそのとき寝ていたはずなんだよね。」というやや皮肉を含んだ意味です。

投稿日時 - 2005-11-15 22:02:55

ANo.1

おそらくこれは仮定法ではないような気がします。
そもそも仮定法とは、事実に反する仮定をするわけですよね。空を飛べないという事実があるのに、空を飛べたら~ とか。

この文章の意味は「もしもその音を聞かなかったのなら、君は寝ていたんだろう」てことですから、これはただの仮定であって仮定法ではないような気がします。事実に反する仮定をしていないですから。

投稿日時 - 2005-11-15 21:42:08