質問: if they already knew abou if they already knew about it,we need't have told them. 彼らがもう知っていたのなら、我々はもう話す必要はなかったのだ という訳なのですが、前半の仮定法の部分は、話す必要より、前のことなのになぜ普通の仮定法過去なんですか?過去完了にはならないんですか?
回答: 一つには、ネイティブは仮定法過去完了で、 if 節で過去完了は実際の会話ではあまり使いません。 (前後で時制がずれる場合もありますが) would/could have 過去分詞、こちらで過去完了とすれば十分かのように。 もう一つに、need have 過去分詞は仮定法ではありません。 だから、この if も仮定法でなく、過去の条件。 知っていたかどうか不明で、 すでに知っていた場合、話す必要はなかったのに。 この「~のに」が仮定法っぽいですが、need 自体が助動詞の過去形じゃない (助動詞 need の過去形はそもそもありません)ので、仮定法ではありません。