✨ ベストアンサー ✨
(4)について
何か良いことがあったのは過去のことなので過去形
but may「〜に違いない」を使いたい。
mayの後は原型なのでしょうがなくhave p.pを使う
ということです。過去完了は大過去の場合などに使われるため過去のもっと過去のことを示す時に使います
(5)について
接続詞(特にwhileは頻度が高い)はSVが省略される時があります。
その条件として
①Sが1度でてきたもの(つまり代名詞)であること
②Vがbe動詞であること
が満たされていればSV省略可です
質問内容に触れているつもりですがよく分からないところがあれば聞いてください
may happenは現在形ですね。
なんか説明難しいので参考書の1部載せておきます。
現在完了形ではなく助動詞があるから過去形を表す代わりにhave p.p.を使っているということです。
長文失礼