【質問回答】「これは仮定法?どうして過去形の助動詞を使うの?」

先日、English Grammar Academy の生徒さんから、助動詞の過去形についてのご質問をいただきました。
ここでは、ご質問と回答を掲載しておきます。
質問「どうして "might have 過去分詞" を使うんですか?」
森様
毎日少しずつ動画を拝見しております。大変勉強になります。
さて、ある参考書の助動詞の項目に、下記の例文が掲載されていました。
I might have said this before, but I can’t emphasize it enough.
「前にも言ったかもしれないが、いくら強調してもしすぎることはないのだ」
この例文の説明には、「might have 過去分詞は、過去のことの推量を表す」とあります。
話し手の発言は現在なのに、might をあえて使う理由は何でしょうか?
may have said でも問題ないのでしょうか。
ご回答頂けると幸いです。よろしくお願い申し上げます。
回答「話し手に "自信がない" からですね。」
森達郎です。
理由は「自信のなさ」ですね。「前にも言ったかもしれないが…」と言ってはいるものの、そこに対する自信がないからです。
助動詞を過去形にすることで「事実に反する」ということを表現したVを仮定法と言いますが、今回はその応用です。
自信がない=話し手からすると事実である可能性が低い
ということなので、直説法 may have said ではなく、仮定法 might have said が使われていますね。
さいごに「仮定法の仕組みをよく復習しよう」
補足ですが、ご質問にあった「話し手の発言が現在である」ということと「現在形の助動詞 may を使う」ということは、直接的な関係はありませんでした。
詳しくは以下の動画や記事で解説しているので、仮定法の仕組みについてよく復習してみてください。