% FILE: tribondx2.pro % IMPORT COMPARISONS CODE :- consult('comparisons.pro'). % TRIBOND SOLVER tribond(X,Y,Z,CC,tribond(R1,R2,R3)) :- reach1(X,CC,R1), reach1(Y,CC,R2), reach1(Z,CC,R3). reach1(S,D,isa(S,D)) :- isa(S,D). reach1(S,D,has(S,D)) :- has(S,D). reach1(S,D,vip(S,D)) :- vip(S,D). % FIND ALL PROBLEMS problems :- concepts(SC1,SC2,SC3), distinct(SC1,SC2,SC3), ordered(SC1,SC2,SC3), write(problem(SC1,SC2,SC3)),nl, fail. problems. % FIND ALL TRIBONDS tribonds :- concepts(SC1,SC2,SC3), distinct(SC1,SC2,SC3), ordered(SC1,SC2,SC3), tribond(SC1,SC2,SC3,_,Tribond), write(Tribond),nl, fail. tribonds. concepts(A,B,C) :- concept(A),concept(B),concept(C). distinct(A,B,C) :- not(A=B),not(A=C),not(B=C). ordered(A,B,C) :- aless(A,B),aless(B,C).