exprIsDeadEnd: Use isDeadEndAppSig to check if a function appliction is bottoming.
exprIsDeadEnd: Use isDeadEndAppSig to check if a function appliction is bottoming.
We used to check the divergence and that the number of arguments > arity.
But arity zero represents unknown arity so this was subtly broken for a long time!
We would check if the saturated function diverges, and if we applied >=arity arguments.
But for unknown arity functions any number of arguments is >=idArity.
This fixes #21440.
I also renamed appIsDeadEnd
into isDeadEndAppSig
so that it's in line with isDeadEndSig
.