Have seen or did you see

  • Have you seen Monika?
    Did you see Monika?
    Из источника понимаю, что правильный вариант - первый, не понимаю почему.... Оба звучат как-будто бы верно. Какое правило здесь применяется?

  • Правило контекста. Если он только что видел Монику. Have you seen M?
    Если дело было, скажем вчера. Did you see M?