Grammar · B2
Conditional sentences III: unreal past & mixed
Condicionais irreais no passado e mistas
The short answer
Unreal past: se + tivesse + participle → teria + participle (writing) or tinha + participle (speech). Mixed: Se eu tivesse estudado, hoje estaria melhor. Regret: devia ter feito.
Writing
- Se eu tivesse sabido, teria ido.
- Se tivéssemos saído cedo, não teríamos pegado trânsito.
- Eu deveria ter avisado.
Speech
- Se eu tivesse sabido, tinha ido.
- Se a gente tivesse saído cedo, não tinha pegado trânsito.
- Eu tinha que ter avisado.
Key forms
- Se eu tivesse sabido, teria ido (writing) / tinha ido (speech).
- Past → present: Se você tivesse dormido, não estaria cansado agora.
- Present → past: Se eu fosse mais organizado, não teria perdido o voo.
- Regret: Eu devia ter… / Eu podia ter… / Se não fosse você…
What it is
Unreal past conditionals imagine a past that didn't happen and its result: If I had known, I would have gone. Portuguese puts se + tivesse + participle in the condition and teria + participle in the result. In everyday speech the result is usually tinha + participle. Mixed conditionals cross the timeline: a past cause with a result today, or a permanent situation with a past result.
How to form it
| Part | Form | Example |
|---|---|---|
| condition | se + tivesse + participle | Se eu tivesse sabido, |
| result (writing) | teria + participle | … eu teria ido. |
| result (speech) | tinha + participle | … eu tinha ido. |
| Person | tivesse | teria | tinha (speech) |
|---|---|---|---|
| eu | tivesse feito | teria feito | tinha feito |
| você / ele / ela / a gente | tivesse feito | teria feito | tinha feito |
| nós | tivéssemos feito | teríamos feito | tínhamos feito |
| vocês / eles / elas | tivessem feito | teriam feito | tinham feito |
Either half can come first: Eu teria ido se tivesse sabido. Negation goes before the auxiliary: Se você não tivesse me avisado, eu não teria percebido. In speech, an object pronoun goes between the auxiliary and the participle: Se você tivesse me ligado…
When to use it
The unreal past
For regret, criticism, relief and alternative history:
- Se a gente tivesse saído mais cedo, não teria pegado trânsito.
- Se não tivesse chovido, o show teria sido incrível.
- Se você tivesse me avisado, eu tinha ido te buscar. (speech)
Mixed conditionals
| Type | Condition | Result |
|---|---|---|
| unreal past | Se eu tivesse estudado, | teria passado. |
| past cause → present result | Se eu tivesse estudado, | hoje estaria tranquilo. |
| general fact → past result | Se eu fosse organizado, | não teria perdido o voo. |
A past cause with a present result keeps tivesse + participle and puts the result in the simple conditional (estaria, seria) or, in speech, the imperfect (estava): Se eu tivesse aceitado aquele emprego, hoje estaria morando em Manaus. A general situation with a past result uses the imperfect subjunctive in the condition: Se ela não falasse inglês, não teria conseguido a vaga.
Regret and reproach without se
- Eu devia ter avisado antes. (I should have warned you earlier.) Also deveria ter, and in speech tinha que ter.
- Você podia ter me ajudado! (You could have helped me!) Also poderia ter.
- Se não fosse você, eu não teria conseguido. (If it hadn't been for you…)
A speech shortcut to recognise
Brazilians often let the simple imperfect subjunctive cover the past: Se eu soubesse, não tinha vindo = If I'd known, I wouldn't have come. The context shows it's about the past. Understand it; in writing prefer tivesse sabido … teria vindo.
Contrasts and traps
- No conditional after se: Se eu teria sabido is wrong in every register. After se: tivesse.
- No subjunctive in the result: Se eu tivesse sabido, tivesse ido is wrong. The result is teria or tinha.
- tinha + participle has two jobs: a plain pluperfect (Quando cheguei, ele tinha ido embora) or a spoken conditional result. The se clause tells you which.
- tiver vs tivesse: Se até sexta você tiver terminado… is an open future; Se você tivesse terminado na sexta… is a past that didn't happen.
- Não fosse…: written Portuguese can drop se: Não fosse a chuva, teríamos ido à praia = Se não fosse a chuva… (If it hadn't been for the rain…).
If you speak Spanish
Si hubiera sabido, habría ido → Se eu tivesse sabido, teria ido. Three habits to break. Spanish lets hubiera appear in both halves (si lo hubiera sabido, hubiera ido); Portuguese doesn't: the result is teria or tinha, never tivesse. The auxiliary is always ter: haveria ido sounds archaic. And debería haber avisado is devia ter avisado, again with ter.
Try 3 now
1 / 3
No account needed.
Examples
- Se você tivesse me avisado, eu tinha ido te buscar.If you had told me, I would have gone to pick you up.Speech: tinha ido = teria ido.
- Se a gente tivesse saído mais cedo, não teria pegado trânsito.If we had left earlier, we wouldn't have hit traffic.
- Se eu tivesse aceitado aquele emprego, hoje estaria morando em Manaus.If I had taken that job, I'd be living in Manaus now.Mixed: past cause, present result.
- Se eu fosse mais organizado, não teria perdido o voo.If I were more organised, I wouldn't have missed the flight.Mixed: general trait, past result.
- Eu devia ter levado o guarda-chuva.I should have taken the umbrella.
- Se não fosse a sua ajuda, eu não teria conseguido.If it hadn't been for your help, I wouldn't have made it.
- Se não tivesse chovido, o show teria sido incrível.If it hadn't rained, the concert would have been amazing.
- Se eu soubesse, não tinha vindo.If I'd known, I wouldn't have come.Speech: the simple imperfect subjunctive with a past meaning.
Common mistakes
The ones learners really make, with the reason behind each fix.
Se eu teria sabido, teria ido.Se eu tivesse sabido, teria ido.
After se, never the conditional: use tivesse + participle.
Eu devia ter avisar antes.Eu devia ter avisado antes.
After devia ter comes the participle: avisado.
Se você tiver dormido mais, não estaria cansado.Se você tivesse dormido mais, não estaria cansado.
An unreal past cause takes tivesse; tiver is for real future possibilities.
Se eu tivesse sabido, tivesse ido.Se eu tivesse sabido, teria ido.
The result clause needs teria (or tinha in speech), never the subjunctive.
Typical for Spanish speakers
Se eu tivesse sabido, haveria ido.Se eu tivesse sabido, teria ido.
Brazilian Portuguese builds the conditional perfect with ter: teria ido.
Typical for Spanish speakers
Eu devia haver avisado.Eu devia ter avisado.
Regret is devia ter + participle, with ter.
Typical for Spanish speakers
Note for English speakers
would have done = teria feito (writing) / tinha feito (speech); should have = devia ter + participle.
Regional variation
- Speech: tinha + participle in the main clause; writing: teria.
- Speech also uses se + simple imperfect subjunctive for the past (Se eu soubesse, não tinha vindo).