How could you have slept with me that time?
という文章を見たのですが、これは正しいのでしょうか?
この文章が could have になっている理由はなんでしょうか?
How could you sleep with me that time? ではだめなんでしょうか??
文脈によることもありますが、一般的にこのcouldは仮定法で、過去を表すものではありません。
How could you (have done)~?
「どうすればあなたに~できる(た)の?(直訳)」(実際にはできない(できなかった)はずだと思っている)
→「あなたに~できる(た)はずなどあるわけない(伝えたい意味)」
つまりこれは、これから起こることやすでに起こったことに対して、「そんなことはあり得ない、信じられない」という強い否定の気持ちを【現在】抱えていることを表す表現です。
「どうして私と寝たの?」と信じられない気持ちを抱いているのは【現在】ですね。
How could youはその【現在の気持ち】を表しています。
一方、「寝た」行為そのものは過去に実際に起こった出来事です。
ところが、過去に起こったことだからと言って過去形sleptで表そうと思っても、助動詞(ここではcould)の後には動詞の原形を置かなければなりませんから、could sleptと言うことができません。
そこで、便宜的に完了形<have+過去分詞>の形を取り入れることで過去を表すのです。
次のような例で見ると分かり易いと思います。
You should study.は「君は勉強すべき」というこれからの動作に対する現在の気持ち。
You should have studied.は「君は勉強しておくべきだった」という過去の動作に対する現在の気持ち。
shouldはshallの過去形ではありますが、いずれの文も【現在の気持ち】を表しています。
ご質問のcouldもそれと同じです。
ちなみに、How could you~?は「どうすればあなたに~できる(た)の?」と聞いているわけですが、これは「寝た方法」を文字通り聞いているわけではありません。
あくまで意味として「よくもそんなことができたわね」と、相手に批判的感情をぶつけています。
このように、文字通りの意味ではなく、別の感情やメッセージを裏側で投げかけるような疑問文を修辞疑問文と言います。
親が子供に「一体何回言わせるの!?」と怒鳴るとき、その親は回数を文字通りに聞きたいわけではなく、「いい加減に言うことを聞きなさい」というメッセージを込めていますね。
それと同じで、英語も生きた人間が使う生き物みたいなものですから、その背景にある感情やメッセージを伝えたり読み取ったりすることが大切です。
ご参考になれば幸いです。
どちらも良いと思います。
How could you sleep with me that time?の方がカジュアルですし、一般的な印象があります。
How could you have slept with me that time?
と書かれてあったのには前後のやり取りで理由があるのかもしれません。
How could you have slept with me that time?の場合、
現在完了形の「経験」「完了」という意味合いが込められているのではないかと推測します。
1回だけの経験であること、このことはすでに完了しており、今後このようなことは一切起こらないこと、ということが強調される印象があります。