Prolog: define logical operator in Prolog as placeholder for other operator
问题 my aim is to write a little prove assistant in prolog. My first step is to define the logical connectives as follows: :-op(800, fx, -). :-op(801, xfy, &). :-op(802, xfy, v). :-op(803, xfy, ->). :-op(804, xfy, <->). :-op(800, xfy, #). The last operator # just has the meaning to be the placeholder for & , v , -> or <-> . My problem is, I don't know how I it is possible to define this in prolog. I tried to solve my problem in the following way: X # Y :- X v Y; X & Y; X -> Y; X <-> Y. but the