とりあえず、Cが嘘しかつかないやつで、BDが本当のことしか言わない人だよね。
まず、Cが本当のことを言ってると仮定すれば、Bが自身の有罪を過去に認めていたことは真で、Bが嘘しかつかないということになる。
しかし、嘘しかつけないBは自分の有罪を認める発言をできないはず。現に、その発言を認めておらず、一貫性がない。よって、嘘つきはCだということになる。となると、それに伴ってBは本当なことを言っているということまで決定される。
ので、Bの発言は正当性を帯びるため、「いいえ」と答えると、Dも嘘をついてないことが証明されるので、それによって自分の無罪を証明できた。