G8 · Grammar

Advanced Modals — Debería haber llegado ya

Modal verbs in the past: what should have been, could have been, must have been

Modal perfects: the pattern

Spanish forms modal perfects by putting the auxiliary in the conditional and adding haber + participle: could have, should have, must have (past).

debería haber + pp → should have (past): Debería haber llamado. (I should have called.)

podría haber + pp → could have: Podrías haber avisado. (You could have warned us.)

habría podido + inf → could have (alt.): Habría podido ganar. (He could have won.)

Deber + haber vs deber de + haber

The preposition de changes meaning: obligation vs deduction.

debería haber + pp = should have (obligation not fulfilled)

debe de haber + pp = must have (logical deduction about past)

Deberías haber llegado antes. (You should have arrived sooner.)

Debe de haber llegado ya. (He must have already arrived.)

Could have — two forms

Two equivalent structures for "could have":

podría haber + pp: Podría haber ganado. (He could have won.)

habría podido + inf: Habría podido ganar. (same meaning)

Both forms are equally valid — choose one per sentence.

Note: Podría haberlo hecho — the object pronoun goes on haber or the infinitive.

Must have (deduction) — past

For logical deduction about past events, use deber de haber + pp or the more colloquial tener que haber + pp.

Debe de haber salido ya. (He must have left already.)

Tiene que haber sido un error. (It must have been a mistake.)

Han debido de olvidarlo. (They must have forgotten it.) — alternative order

Common mistakes and register

Avoid English-influenced errors with modal perfects.

Never: *debería de haber (mixing obligation with deduction marker)

Never: *podría de haber (de does not go with poder)

Colloquial: Tendría que haberlo visto. (You should have seen it!) — surprise/regret

Common Mistakes

Traps for English speakers

These are the errors English speakers make most often.

Debería de haber llamado. (obligation)
→
Debería haber llamado. (obligation — no de)
Deber + obligation: NO de. Deber de = deduction only: debe de haber llegado
Podría de haber ganado.
→
Podría haber ganado.
Poder never takes de in the compound modal: podría haber (not podría de haber)
Debe haber llegado. (deduction)
→
Debe de haber llegado. (deduction)
For past deduction, deber DE haber is the standard form (though debe haber is accepted colloquially)
Lo podría haber hecho o podría haberlo hecho.
→
Both are correct: lo podría haber hecho and podría haberlo hecho.
Object pronoun can attach to the auxiliary or to the infinitive in compound modals — both positions are correct
Habría debido hacer eso.
→
Debería haber hecho eso.
The natural Spanish form for "should have done" is debería haber + pp — habría debido is clunky

Recap: Advanced Modals

Should have
debería/deberías/etc. + haber + pp
Deberías haber llamado antes.
Could have
podría haber + pp / habría podido + inf
Podría haber ganado fácilmente.
Must have (deduction)
debe de haber + pp / tiene que haber + pp
Debe de haber llegado ya.
Should not have
no debería haber + pp
No deberías haber dicho eso.
Could not have
no podría haber + pp
No podría haberlo hecho sin tu ayuda.
Key rule
deber = obligation (no de); deber de = deduction
debería haber ≠ debe de haber
Practice now →