Calling Prolog from php

Nope, I fully embrace ‘|’. Even beyond ISO core standard. ISO core standard would possibly throw a permission error when redefining its priority.

You can try yourself, add this line:

?- prove0(('A' => 'A' | 'B')).

But some web servers implement RFC 7230 and RFC 3986 and they don’t accept the vertical bar unencoded in their request payload. So be careful.