should have done の have は何者か|過去形になれない助動詞
入試対策講座 第2回/謎解き式・先生の15分パックつき
You should have told me. の have は「持っている」でも現在完了でもありません。助動詞が過去形になれないという事情が、この形を生みました。理由が分かると、must have / cannot have / need not have まで一列に並びます。
監修:原田高志(原田英語.com)
今日の謎はこれです。助動詞のうしろに、なぜ have が居座っているのか。「〜すべきだった」と言いたいだけなのに、なぜ should を過去形にしないのか。考えられる答えを3つ立てて、順に確かめていきます。最後に、先生がそのまま使える15分の授業案を置いておきます。
なぜ「〜すべきだった」を、should の過去形で言えないのか
日本語なら簡単です。「すべきだ」を「すべきだった」にすればいい。語尾を過去にするだけ。
ところが英語は、こう言います。
You should have told me.(言ってくれればよかったのに)
should はそのまま。代わりに、うしろに have が現れます。
この have を「持っている」と読むと、文の意味が消えます。現在完了だと思っても、「〜し終えた」という訳が入りません。
この have は、何をしているのでしょうか。
考えられる答え
形は have + 過去分詞で同じですが、意味が合いません。You should have told me. に「言い終えた」という完了の意味は入っていない。入っているのは、実際には言わなかったという事実です。完了では説明できません。
飾りなら、外しても意味は変わらないはずです。しかし You should tell me.(言うべきだ)と You should have told me.(言うべきだった)は、時間が丸ごと違います。飾りが時間を動かすことはありません。
should には、過去形がありません。時間をずらす仕事を自分でできない。だから、うしろに専用の装置を付けた。ここに真相があります。
真相
助動詞は、時制を自分で持てない特別な動詞です。過去のことを言いたくても、助動詞そのものを過去形にできない。そこで英語は、時間の目盛りだけを過去へ1つ動かすレバーとして have + 過去分詞を後ろに付けました。この have は完了ではなく、視点を過去へ振るための装置です。
S + 助動詞 + have + 過去分詞 〜.(=話し手のいまの視点から、過去についての推量/後悔/非難を述べる)
「助動詞+have+過去分詞」の have は現在完了ではありません。ここが最大の入口です。
助動詞(should / must / may / cannot など)は、そもそも時制を持てない特別な動詞です。だから「過去のことを推量したい・後悔したい」と思ったとき、英語は助動詞そのものを過去形にする道を取れませんでした。代わりに使われたのが、後ろに have+過去分詞を貼り付けるという発明です。この have は「完了」ではなく、時間の目盛りだけを過去にひとつ動かすためのレバーとして働きます。
しくみが同じですから、意味も4つがきれいに並びます。
- ① should have done:〜すべきだったのに(しなかった)/〜すればよかった。過去の後悔・非難
- ② must have done:〜したに違いない。過去への強い推量(今の証拠から確信)
- ③ cannot have done:〜したはずがない。過去への強い否定的推量
- ④ may / might have done:〜したかもしれない。過去への弱い推量
並べてみるとよくわかります。助動詞の部分が「話し手の気持ちの強さ」を決め、have+過去分詞が「その気持ちの向く先を過去に振る」。この2階建て構造こそが、この文法の正体です。
もうひとつだけ加えます。need not have done は「〜する必要はなかったのに(実際はしてしまった)」。didn't need to do(する必要がなかった=しなかった)とは意味がまったく違うので、2つを混ぜないこと。この対比は毎年どこかの入試で問われます。
日本語の頭が、ここで邪魔をする
日本語は、気持ちを表す語尾のほうを過去にできます。
「行くべきだ」→「行くべきだった」。「〜に違いない」→「〜に違いなかった」。語尾を1文字変えるだけで、時間が動く。
英語はこれができません。should も must も、形を変えられない語だからです。
だから日本語話者は、まず should の側を過去にしようとして詰まります。詰まるのが自然です。日本語でできることが、英語ではできないという、ただそれだけの話だからです。
覚えるべきは1点。英語では、気持ちの語(助動詞)は動かない。動くのはうしろ。この分担が見えると、4つの形が一列に並びます。
ここでつまずく
最大の罠は「must not have done で『〜したはずがない』」と書いてしまう誤りです。正しくは cannot have done。must not have done は「〜しなかったに違いない」(過去に「しなかった」と確信している)で、意味が180度変わります。もうひとつ、should have done を「〜すべきだった」と訳してから、「じゃあ実際にはやったのか、やっていないのか」を確かめずに次へ行かないこと。この形は必ず「実際にはやっていない」の含みを持ちます。長文の指示語問題で、この含みを取れているかが問われます。
過去へ視点を振る力を手に入れる
この分担が見えると、助動詞の部分=気持ちの強さ、have + 過去分詞=その気持ちが向く先を過去に振るという2階建てで読めるようになります。
must have done(〜したに違いない)、cannot have done(〜したはずがない)、may have done(〜したかもしれない)。4つを別々に暗記していたものが、1つの仕組みの4通りに変わります。
さらに、長文で書き手が過去をどう評価しているかまで読めるようになります。should have done が出てきたら、そこには必ず実際にはしなかったという事実が隠れている。設問はたいてい、そこを聞いてきます。
例文で確かめる
You should have called me before coming over.
こっちに来る前に電話してくれればよかったのに。
後悔・軽い非難。実際には電話しなかったことを含む。
The road is wet. It must have rained during the night.
道が濡れている。夜のあいだに雨が降ったに違いない。
いまの証拠(濡れた道)から、過去の出来事を強く推量。
She cannot have seen the message — her phone was off all evening.
彼女がそのメッセージを見たはずがない。夜のあいだ電源が切れていたのだから。
「〜のはずがない」は cannot have done。must not have done ではない。
He may have missed the train because of the storm.
彼は嵐のせいで電車に乗り遅れたのかもしれない。
may / might have done は弱い推量。might のほうがさらに控えめ。
You need not have brought an umbrella — the rain stopped an hour ago.
傘を持ってこなくてよかったのに。雨は1時間前に止んだよ。
実際には傘を持ってきてしまった、の含み。didn't need to bring とは違う。
Before
should have done は「〜すべきだった」、must have done は「〜したに違いない」。訳を4つ、別々に丸暗記していた。似た形が出ると、どれだったか思い出せなくなっていた。
After
助動詞が気持ちの強さ、have + 過去分詞が時間という2階建てで見える。4つが1つの仕組みに縮み、思い出す作業そのものが要らなくなる。
For Teachers
明日の授業、この15分で「助動詞+have+過去分詞」が終わります
導入の問いかけ(3分)
- 「「行くべきだった」って、日本語ではどこを過去にしてる? 語尾だよね」
- 「じゃあ英語で should を過去形にしてみて。……できないよね。なんでだと思う?」
- 「should have done の have を「持っている」と訳すと、文はどうなる?」
板書はこの1行だけ
助動詞は過去形になれない。だから時間をずらす仕事を、have + 過去分詞に外注した。
ペアワーク/全体討論(5分)
2番目の問いかけをそのままペアに投げます。
「should の過去形を書いてみて」(30秒)
書けないことが、この授業の入口です。shall の過去形が should だという知識を持っている生徒がいたら、それも拾ってください。「じゃあ『行くべきだった』は shall の過去で言える?」と返すと、また詰まります。
詰まったところで板書の1行を出します。先に困らせてから仕組みを見せると、この項目は一度で入ります。
レベル別ミニ問題(5分)
You ( should tell / should have told ) me about the test yesterday.
答え:should have told。yesterday が過去を指しているので、時間を振る装置が要る。
He ( must be / must have been ) tired last night.
答え:must have been。過去についての強い推量。
「彼がそんなことを言ったはずがない」を英語で。must not / cannot のどちらを使うか。
答え:He cannot have said such a thing. must not have done は「〜しなかったに違いない」で意味が逆になる。
need not have done と didn't need to do の違いを説明しなさい。
答え:need not have done は「する必要がなかったのに、実際はした」。didn't need to do は「する必要がなかったので、していない」。実際にやったかどうかが逆になる。
出口チケット(2分)
should have done には、必ず隠れている事実が1つあります。それは何か、1行で書きなさい。
AIに貼ると、この項目だけを狙った練習問題が、あなた用に出てきます。
あなたは大学入試の英語講師です。私は高校2年生で、助動詞+have+過去分詞(should have done / must have done / cannot have done / may have done / need not have done)の使い分けが苦手です。条件:①5つすべてを使った4択問題を10問作る ②10問のうち2問は must not have done と cannot have done を混同させる問題にする ③2問は need not have done と didn't need to do の違いを問う ④各問の解説では「助動詞=気持ちの強さ、have+過去分詞=時間を過去に振る」という枠組みを必ず使う ⑤最後に、私が本番で迷わないための判断手順を3ステップで書いてください。
動画で見る
確認クイズ
-
Q1. 空所に入る最も適切な語句を選びなさい。 I'm so sorry — I ( ) called you last night, but I completely forgot.
-
Q2. 次の文と最も意味が近いものを選びなさい。 He cannot have written this essay by himself.
-
Q3. 下線部の意味として最も適切なものを選びなさい。 You need not have waited for me. I was working late anyway.
よくある質問
should have done は「〜すべきだった」と訳す本と「〜すればよかった」と訳す本があります。どちらが正しいですか?
どちらも正解です。中立に義務違反を語るなら「〜すべきだったのに(しなかった)」、話し手の悔いを前に出すなら「〜すればよかった」。文脈で選んでください。共通しているのは「過去にそうしなかった」という事実で、この含みが should have done の核心です。逆に言えば、実際にそうした場合には使えません。
must have done と cannot have done は必ずセットで覚えるようにと言われました。なぜですか?
この2つは「過去の推量」のペアで、確信の方向が正反対だからです。must have done は「〜だったに違いない(=きっとそうだった)」、cannot have done は「〜だったはずがない(=きっとそうではなかった)」。「過去の否定的推量は not have done ではなく cannot have done」。ここが入試の急所です。ふつうの否定 must not have done は「〜しなかったに違いない」の意味で、まったく別物になります。