現在完了の経験用法に forをつけるとたちまち過去形になってしまうのはなぜですか。
(私は東京に住んだことがあります。)
I have lived in Tokyo before.
これを
(私は東京に2年間住んだことがあります。)
とすると
I have lived in Tokyo for 2 years before.
とはならず
I lived in Tokyo for 2 years before.となってしまいますよね?なぜでしょうか?
現在完了とyesterdayや〜agoなどの特定の過去の時を表す副詞は共に使えないと言うことは存じておりますが、上記の文はいつ東京に二年間住んでいたのか定かではないにも関わらず、過去形となってしまうのはなぜですか?
それとも普通に現在完了でも表せるでしょうか?