Lý thuyết
Đọc kỹ để nắm cấu trúc + cách dùng.
Form
Modal Perfect (còn gọi là Modal + have + V3/V-ed) dùng để diễn tả suy luận, giả định, hoặc hối tiếc về một hành động trong quá khứ. Cấu trúc:
Modal + have + past participle (V3/V-ed)
Các modal thường gặp:
- must have V3: chắc hẳn đã (suy luận chắc chắn)
- can't / couldn't have V3: không thể nào đã (suy luận phủ định chắc chắn)
- could / might / may have V3: có thể đã (suy luận không chắc chắn)
- should / ought to have V3: đáng lẽ nên (không làm, hối tiếc)
- would have V3: sẽ đã (giả định trái ngược quá khứ)
- needn't have V3: đáng lẽ không cần (đã làm thừa)
Ví dụ:
- She must have studied hard. → Chắc hẳn cô ấy đã học chăm chỉ.
- They can't have left yet. → Họ không thể nào đã đi được.
- I should have called you. → Đáng lẽ tôi nên gọi cho bạn.
When to use
1. Suy luận chắc chắn (must / can't)
Dùng khi có bằng chứng rõ ràng để kết luận về quá khứ.
- The ground is wet. It must have rained last night. (Mặt đất ướt → chắc đã mưa)
- He passed the exam. He can't have failed. (Anh ấy đỗ → không thể trượt)
2. Suy luận không chắc chắn (could / might / may)
Dùng khi không có đủ bằng chứng, chỉ là phỏng đoán.
- She's not at home. She might have gone to the gym. (Cô ấy có thể đã đi gym)
- They could have missed the bus. (Họ có thể đã lỡ xe buýt)
3. Hối tiếc / phê bình (should / ought to)
Dùng để nói về hành động đáng lẽ nên làm nhưng đã không làm (hoặc ngược lại).
- You should have told me earlier. (Đáng lẽ bạn nên nói sớm hơn)
- She shouldn't have eaten so much. (Đáng lẽ cô ấy không nên ăn nhiều như vậy)
4. Giả định trái ngược quá khứ (would have)
Thường dùng trong câu điều kiện loại 3 (If I had... I would have...).
- If I had known, I would have come. (Nếu biết, tôi đã đến)
- He would have helped if you asked. (Anh ấy đã giúp nếu bạn nhờ)
5. Hành động thừa (needn't have)
Dùng khi một việc đã làm nhưng hóa ra không cần thiết.
- I needn't have cooked dinner; they ate out. (Tôi đã không cần nấu vì họ ăn ngoài)
- You needn't have bought a gift. (Bạn đã không cần mua quà)
Time markers / Signal words
Không có dấu hiệu thời gian cố định, nhưng thường đi với:
- By + thời gian quá khứ: By 10 PM, he must have arrived.
- Last night / yesterday / last week: She might have gone last night.
- Before + mốc: They should have finished before Monday.
- Otherwise / or else: I should have studied; otherwise, I'd have passed.
- If + quá khứ hoàn thành (câu điều kiện loại 3): If I had seen, I would have stopped.
Notes
- Không dùng must have cho hiện tại: "He must be at home now" (đúng) ≠ "He must have been at home now" (sai). Must have chỉ quá khứ.
- Can't have ≠ Mustn't have: Can't have = suy luận phủ định; Mustn't have = cấm (rất hiếm dùng cho quá khứ).
- Could have vs Might have: Could have thường chỉ khả năng (có thể đã), Might have chỉ khả năng thấp hơn.
- Should have vs Ought to have: Tương tự nhau, nhưng ought to have hơi trang trọng hơn.
- Needn't have vs Didn't need to: Needn't have = đã làm nhưng không cần; Didn't need to = không cần và có thể đã làm hoặc không.
Với người Việt, cần tránh nhầm "must have" với "phải có" (must have = chắc hẳn đã, không phải "phải có").
Ví dụ 15
Quan sát cách dùng trong câu thực tế.
Lỗi thường gặp 5
Tránh ngay từ đầu để khỏi mất điểm.