【前提】
「分詞」=「動詞が、動詞の意味を帯びたまま形容詞になったもの」
「動名詞」=「動詞が、動詞の意味を帯びたまま名詞になったもの」
現在分詞も過去分詞も、文章内での役割はどちらも「形容詞」。
そもそも「分詞」というネーミングセンスが悪い。
しかし英語で分詞を participle というのだから仕方ない。
【参考】
現在分詞:present participle
過去分詞:past participle ( → 過去分詞は「 p.p. 」と略す )
分詞構文:participle construction
◆解説1:他動詞「marry」
「~の夫になる」または「~の妻になる」という意味。
これが転じて「~と結婚する」という意味になった。
今回のように、埋めるべき空欄の直後に前置詞forがある場合、
他動詞marryは当てはまらない。
重要なので繰り返す。他動詞marryは直後には前置詞ダメ!
(f先生から後日ご指摘いただいた通り、
あくまでも他動詞marryには直後に前置詞が来ないというだけ。
自動詞marryはその限りではありません)
◆解説2:動詞get+過去分詞+前置詞to「get married to [人名]」
「(結婚していない状態から)~と結婚している状態になる」という意味。
これが転じて「~と結婚する」という意味になった。
使う前置詞はwithでもforでもなくtoなので注意。
◆解説3:be動詞+過去分詞+前置詞to「be married to [人名]」
「~は[人名]と結婚している(という状態)」という意味。
この場合のmarriedは形容詞なので、直後に前置詞toが来てもOK。
(他動詞marryの後に前置詞toが来たら文法的にダメ)
◆解説4:be動詞+過去分詞+前置詞with「be married with 子供たち」
「~は結婚して子供たちがいる(という状態)」という意味。
つまり「誰々と結婚している」というときに with は使わないということ。
◆解説5:have+過去分詞+前置詞for「have married for [期間]」
「~は[期間]の間ずっと結婚を繰り返している」というような意味になる。ダメ。あかんです。これはあかん。通常の会話等ではこの言い方は無い。今回③の答えがダメな理由はこれ。
marryが動作動詞だからダメなんだそうだ。
marryに限らず、動作動詞は「have+過去分詞」で<継続>の意味の現在完了にはできないらしい。動作動詞の<継続>はhave+been+現在分詞(つまりing形)でなければならないとのことだ。さらにmarriedの場合、marringを使おうものなら、継続の意味を帯びて「何年もの長い期間結婚式をし続けた」みたいな意味になってしまうとのこと。だからhave been marriedであり、「have been 形容詞」の形になっているのだそうだ。
◆解説6:have+過去分詞been+形容詞married+前置詞for+[期間]
「~は[期間]の間ずっと結婚している状態のままだった」という意味。
ということでこれはOK。今回④の答えが正解なのはこれ。
【余談】
名詞 …… marriage(結婚)
動詞 …… marry(結婚する)
形容詞 …… married(結婚している)
ちなみにmarryは他動詞でもあり、自動詞でもありますのであしからずご了承ください(* ´艸`)
オックスフォード学習辞典より