On the one hand:
$ sicstus SICStus 4.6.0 (x86_64-linux-glibc2.17): Mon Apr 6 09:23:37 PDT 2020 [...] | ?- \+ (!,false) ; X = 1. yes
... on the other hand ...
$ gprolog GNU Prolog 1.4.5 (64 bits) [...] | ?- \+ (!,false) ; X = 1. true ? ; X = 1 yes
... also on the other hand:
$ swipl Welcome to SWI-Prolog (threaded, 64 bits, version 8.2.2) [...] 1 ?- \+ (!,false) ; X = 1. true ; X = 1.
Confusing, isn't it? Help please!