It’s related to this.
It is stated that there are two types of verification for blocks.
Block verification. If a block is invalid, it is ignored and, in some cases, permanently marked as invalid.
Full block verification. If a block is found to be invalid, it is permanently marked as invalid. As a result, everything that has been done up to that point is rolled back and a search for a new active chain tip begins.
In all these cases, it does not specify what happens to the header in the block header tree and the headers derived from it (subheaders) after determining that block is invalid. what’s the matter?