If I had been a bit taller, I ( ) the fireworks display.
a.would see b.could have seen c.will see d.could be seen
訳:もし私がもっと背が高かったら、花火が見えただろうに。
条件文はhad p.p.により過去についての事実ではないと分かっている想像。主節は過去形助動詞でないとダメ。a.would see であるなら「過去が違っていたら今頃は・・・」という論理になっていたはず。これはダメ。この文は「私は背が低くかったので、花火が見えなかったのよ」と否定的内容をストレートに言うのを避けて、「もっと・・・だったら」にしたもの。仮定法表現で言い換えられるモノは、極めて限られているので、どうして仮定法にしたか「意図」を考えること。
正解はb
If Japan( )the fight in the beginning of 1945, American might not have used the atomic bomb.
a.has given up b.would give up c.had given up d.gave up
主節はmight not have used・・・で過去についての想像と明白。条件節はIf・・・had p.p.の形しかありえない。このパターンは、一番普通な過去・歴史についての「もしも過去が違っていたら・・・」の想像。
If I ( ) you were ill, I would not have left you alone.
a.know b.knew c.have known d.had known
主節の動詞would not have left から全体は仮定法の文だと分かる。過去についての想像はIf・・・had p.p.しかない。このときyou were illの部分は「実際に病気だ」ということで別に仮定法表現ではない。その事実を「知っていたか、いなかったか」ということで事実に反する想定が出ているわけである。時制の一致は仮定法に関係ないから、had knownであっても問題はない。