% problem from Manthey/Bry

name(mb).

:- dynamic p/2,q/2.

%domain elements a,b,c
dom(a). dom(b). dom(c). dom(d).

_ axiom p_total :(p(a,b) => goal).
_ axiom q_total :(q(c,d) => goal).

_ axiom sym_p(X,Y) :(p(X,Y) => p(Y,X)).
% axiom sym_q(X,Y) :(q(X,Y) => q(Y,X)).
_ axiom trans_p(X,Y,Z) :(p(X,Y),p(Y,Z) => p(X,Z)).
_ axiom trans_q(X,Y,Z) :(q(X,Y),q(Y,Z) => q(X,Z)).

_ axiom p_or_q(X,Y) :(dom(X),dom(Y) => p(X,Y);q(X,Y)).

