Step 1: Meaning and tense logic.
The word “corpse” already means “a dead body.” Therefore, saying “corpse had been dead” is redundant and illogical — it’s tautological because by definition a corpse is dead.
Step 2: Correct expression.
We can say: “The body had been lying there for five days” or “The corpse had been there for five days” — without “dead,” since that’s implied.
Step 3: Error identification.
The segment (b) “had been dead” is faulty in this context; it should be replaced with an expression that describes the state of the corpse (e.g., “had been lying”).