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 →