質問: Next month we will have married for twenty years. のhave marriedが文法上の間違いで、 have been married になるらしいのですがなぜこのようになるのでしょうか?教えてください。
回答: marry は自動詞として「結婚する」という意味になりますが,「結婚している」という状態は表しません。 ここでは,「20年,(ずっと)結婚している」という(未来)完了時制の継続用法になっています。 完了時制で,継続の意味になるためには,「~している」という状態的な意味を持つ動詞であるか,have been ~ing のように完了進行形にして「動作をし続けている」としなければなりません。 結婚という動作は,婚姻届を出すなり,結婚式を挙げるなりする時点で一瞬に終わるため,「し続けている」という完了進行形にはできません。 そこで,「結婚している」という状態を表すために be married とし,これを完了時制にして,(will) have been married とするわけです。