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')).
http://www.xlog.ch/izytab/doclet/en/docs/18_live/40_bin2021/paste03/package.html

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.