@Maxcock it’s a mathematical proof that something simply cannot be done. This is used a lot to prove the security of cryptographic algorithms - for example, one can proof that it is not possible to fake an RSA signature with more efficiency than factoring large numbers (which we then assume to be difficult).

In consensus, there’s a bunch of more annoying proofs; foremost is one by Fischer, Lynch, ans Patterson from 1985 that in a fully asynchronous system, it is impossible to guarantee for a deterministic consensus algorithm to ever terminate - this is the result that makes it so hard what we’re doing, as we need to find loopholes (e.g., Bitcoin that never really terminates, or use a randomizrd algorithm). Another annoying one is that in an asynchronous system, one cannot achieve agreement if a third or more validators are corrupted (this actually does apply to PoW too, it’s just more hidden)