仮定法過去完了(IF+過去完了形, 主節過去の助動詞+完了形)
過去の願望を表す。したのになぁ
If you had accepted our offer, we would have had a deal.
普通if文が無い場合は過去完了形は反実仮想で実際は実行していない
しかしcan/mayは時制の一致等の過去としてのcould/mightは仮定法でない場合があり
実行したか、実行していないか文脈でしか分からない→大過去ということ
大過去なので文脈で分かる? The party could have started before it started.
大過去ならこれでいいのでは The party had started before it started.
また大過去は比較なので省略は適切でない
I could have done (before its started).とは普通言わない
I could have done (if it had started).と普通なる
ほぼ仮定法過去完了で反実仮想と理解してもいいのでは
実行した(仮定法でない)
I have done that.
実行していない(仮定法)
should have done すべきだったのに(200%後悔)
would have done したのに(100%後悔)
must have done したに違いない(95%実感)
could have done できたかも知れないのになぁ(60%実感)
might have done してもよかったかも<どっちでもいい>(35%関心薄)
実行した(仮定法)
shouldn't have done すべきでなかったのに(200%後悔)
wouldn't have done しなかったのに(100%後悔)
couldn't have done できなかったかも知れないなぁ(60%実感)
----------------------------------------------
文脈でしか分からない大過去とは?
※大過去のmightは許可のみ、推量「かもしれない」は仮定法にしかならないのでは
(仮定法でない)
could have done できた(可能の大過去)
I could have done that before it was started. 始まった前にできた
might have done してもよかった(許可の大過去)
I might have done that before it was started. 始まった前ならやっても良かった
(仮定法でない)
couldn't have done できなかった(不可能の大過去)
I couldn't have done that before it was started. 始まった前ならできなかった
mightn't have done しては駄目だった(許可の大過去)
I mightn't have done that before it was started. 始まった前はしては駄目だった
(仮定法でない)
can have done できた/できたかも(50%の可能性)
I can have done that. 俺はできたよ/俺ならできた
may have done したかも<結果を知らない>(40%の可能性)
I may have done that. 俺はやったかも/俺はやってもよかった
参考:二重否定の難しさ、現在なら二重否定は肯定だが、過去なら否定強調で意味が真逆になる Is This English??? - 代名詞 - Pronouns (bangboo.com)