回答

3,4について
主節が過去の文になっており、従属節がそれよりも過去の文だから過去完了を使う。
具体的には、3では、becauseの後ろ(従属節)のsee(会う)は、主節のrecognize(認識する)よりも前の出来事、(前に会ったことがあるから認識できたわけですよね)
4では、thatの後ろ(従属節)のtell(言う)は、主節のbuy(買う)より前の出来事(すでに言われていたものを買ったわけですよね)

5については、yesterdayは現在完了の文では使われません。現在完了は過去から現在までの時間の幅を表すので、yesterdayというようにピンポイントを表す単語とは相性が悪いんですよね。

長々とすみません🙇‍♂️わかりづらかったらコメントください🙇‍♂️

この回答にコメントする
疑問は解決しましたか?