Compound tenses: pluscuamperfecto and perfect subjunctive
You already know pretérito perfecto (he hablado). Today: two close relatives. Pluscuamperfecto (había hablado) — an action already completed by some moment in the past, like English 'I had spoken'. Pretérito perfecto de subjuntivo (haya hablado) — same idea as perfecto, but in the subjunctive.
Pluscuamperfecto — forms
Take haber in IMPERFECTO + past participle: había, habías, había, habíamos, habíais, habían + hablado/comido/vivido. Cuando llegué, ella ya había salido (when I arrived, she had already left). English uses 'had + done' for the same idea.
When to use pluscuamperfecto
Describes an action COMPLETED before another action in the past. Helps you tell stories with two layers of time. Cuando entré, mi mamá ya había hecho la cena (when I came in, my mom had already made dinner). Nunca había visto algo así (I'd never seen anything like that).
Pretérito perfecto de subjuntivo — forms
haber in PRESENTE DE SUBJUNTIVO + past participle: haya, hayas, haya, hayamos, hayáis, hayan + hablado/comido/vivido. Recognizable form: same participle, different haber.
When to use the perfect subjunctive
Same triggers as the regular subjunctive (querer que, esperar que, no creer que…), but when the action is ALREADY COMPLETED or happened before the moment of speaking. Espero que hayas comido (I hope you've eaten). No creo que haya llegado (I don't think he's arrived). Es bueno que hayas venido (it's good that you've come).
Comparing the four past tenses
Comí pan = I ate / I had bread (simple, finished). He comido pan = I have eaten bread (connected to now — recently). Comía pan = I was eating bread / used to eat bread (backdrop, habit). Había comido pan = I had eaten bread (before something else in the past). Not a difficulty ladder — different layers of time.
Cues and markers
Pluscuamperfecto often appears with markers like ya (already), todavía no (not yet), antes de que (before), cuando (when — meaning 'by the time'). Ya había salido cuando llamaste = he had already left when you called.
