Part of the cause of this confusion is that Vampire (and E) still parses ...
! [X:$o] : X = X
... incorrectly, as ...
(! [X:$o] : X) = X
...
<and explains that uses a workaround for now, to always create ! [X:$o] : (X = X) for us>
...
deep in your heart, don't you want to do the right thing and fix the parsing?
I guess the fix requires making sure that = binds stronger than a quantifier?
Geoff writes:
I guess the fix requires making sure that = binds stronger than a quantifier?